|
|
1.1 ! root 1: /* @(#)uio.c 1.2 */ ! 2: /* 3.0 SID # 1.2 */ ! 3: #include "fio.h" ! 4: int reclen; ! 5: do_us(number,ptr,len) ftnint *number; ftnlen len; char *ptr; ! 6: { ! 7: if(reading) ! 8: { ! 9: recpos += *number * len; ! 10: if(recpos>reclen) ! 11: { ! 12: err(elist->ciend,(-1), "eof/uio"); ! 13: } ! 14: (void) fread(ptr,(int)len,(int)(*number),cf); ! 15: return(0); ! 16: } ! 17: else ! 18: { ! 19: reclen += *number * len; ! 20: (void) fwrite(ptr,(int)len,(int)(*number),cf); ! 21: return(0); ! 22: } ! 23: } ! 24: do_uio(number,ptr,len) ftnint *number; ftnlen len; char *ptr; ! 25: { ! 26: if(sequential) ! 27: return(do_us(number,ptr,len)); ! 28: else return(do_ud(number,ptr,len)); ! 29: } ! 30: do_ud(number,ptr,len) ftnint *number; ftnlen len; char *ptr; ! 31: { ! 32: recpos += *number * len; ! 33: if(recpos > curunit->url && curunit->url!=1) ! 34: err(elist->cierr,110,"eof/uio"); ! 35: if(reading) ! 36: { ! 37: if(fread(ptr,(int)len,(int)(*number),cf) ! 38: != *number) ! 39: err(elist->cierr,27,"eof/uio") ! 40: else return(0); ! 41: } ! 42: (void) fwrite(ptr,(int)len,(int)(*number),cf); ! 43: return(0); ! 44: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.