From 27b3938aae701699437c5c929fb79d5e9143dfcd Mon Sep 17 00:00:00 2001 From: John van Groningen Date: Fri, 17 Feb 2012 11:34:32 +0000 Subject: fix file_read_int and file_read_s_int on 64 bit linux --- ufileIO2.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ufileIO2.c b/ufileIO2.c index 17f3aeb..6c57ae1 100644 --- a/ufileIO2.c +++ b/ufileIO2.c @@ -560,7 +560,11 @@ int file_read_int (long fn,long *i_p) ((char*)i_p)[2]=i; if ((i=getc (fd))==EOF) return 0; - ((char*)i_p)[3]=i; + ((char*)i_p)[3]=i; +#ifdef A64 + *i_p=(long)*(int*)i_p; +#endif + } else if (f->mode & (1<file,"%ld",i_p)!=1) @@ -1257,7 +1261,7 @@ int file_read_s_char (long fn,unsigned long *position_p) } } -int file_read_s_int (long fn,int *i_p,unsigned long *position_p) +int file_read_s_int (long fn,long *i_p,unsigned long *position_p) { if (fnmode & (1<file,"%ld",i_p)!=1) +#else if (fscanf (f->file,"%d",i_p)!=1) +#endif result=0; else result=-1; -- cgit v1.2.3