diff options
Diffstat (limited to 'libf2c/libI77/uio.c')
-rw-r--r-- | libf2c/libI77/uio.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/libf2c/libI77/uio.c b/libf2c/libI77/uio.c index ea733cec06c..e40875e0f7b 100644 --- a/libf2c/libI77/uio.c +++ b/libf2c/libI77/uio.c @@ -1,6 +1,5 @@ #include "f2c.h" #include "fio.h" -#include <sys/types.h> uiolen f__reclen; #ifdef KR_headers @@ -14,14 +13,14 @@ do_us(ftnint *number, char *ptr, ftnlen len) f__recpos += (int)(*number * len); if(f__recpos>f__reclen) err(f__elist->cierr, 110, "do_us"); - if (fread(ptr,(size_t)len,(size_t)(*number),f__cf) != *number) + if (fread(ptr,(int)len,(int)(*number),f__cf) != *number) err(f__elist->ciend, EOF, "do_us"); return(0); } else { f__reclen += *number * len; - (void) fwrite(ptr,(size_t)len,(size_t)(*number),f__cf); + (void) fwrite(ptr,(int)len,(int)(*number),f__cf); return(0); } } @@ -42,19 +41,19 @@ integer do_ud(ftnint *number, char *ptr, ftnlen len) #else size_t i; #endif - if (!(i = fread(ptr,(size_t)len,(size_t)(*number),f__cf)) + if (!(i = fread(ptr,(int)len,(int)(*number),f__cf)) && !(f__recpos - *number*len)) - err(f__elist->cierr,EOF,"do_ud"); + err(f__elist->cierr,EOF,"do_ud") if (i < *number) memset(ptr + i*len, 0, (*number - i)*len); return 0; #else - if(fread(ptr,(size_t)len,(size_t)(*number),f__cf) != *number) - err(f__elist->cierr,EOF,"do_ud"); + if(fread(ptr,(int)len,(int)(*number),f__cf) != *number) + err(f__elist->cierr,EOF,"do_ud") else return(0); #endif } - (void) fwrite(ptr,(size_t)len,(size_t)(*number),f__cf); + (void) fwrite(ptr,(int)len,(int)(*number),f__cf); return(0); } #ifdef KR_headers |