Commit | Line | Data |
---|---|---|
7a517deb TL |
1 | #include "fio.h" |
2 | int reclen; | |
3 | do_us(number,ptr,len) ftnint *number; ftnlen len; char *ptr; | |
4 | { | |
5 | if(reading) | |
6 | { | |
7 | recpos += *number * len; | |
8 | if(recpos>reclen) | |
9 | { | |
10 | err(elist->cierr,110,"eof/uio"); | |
11 | } | |
12 | fread(ptr,(int)len,(int)(*number),cf); | |
13 | return(0); | |
14 | } | |
15 | else | |
16 | { | |
17 | reclen += *number * len; | |
18 | fwrite(ptr,(int)len,(int)(*number),cf); | |
19 | return(0); | |
20 | } | |
21 | } | |
22 | do_uio(number,ptr,len) ftnint *number; ftnlen len; char *ptr; | |
23 | { | |
24 | if(sequential) | |
25 | return(do_us(number,ptr,len)); | |
26 | else return(do_ud(number,ptr,len)); | |
27 | } | |
28 | do_ud(number,ptr,len) ftnint *number; ftnlen len; char *ptr; | |
29 | { | |
30 | recpos += *number * len; | |
31 | if(recpos > curunit->url && curunit->url!=1) | |
32 | err(elist->cierr,110,"eof/uio"); | |
33 | if(reading) | |
34 | { | |
35 | if(fread(ptr,(int)len,(int)(*number),cf) | |
36 | != *number) | |
37 | err(elist->cierr,errno,"eof/uio") | |
38 | else return(0); | |
39 | } | |
40 | fwrite(ptr,(int)len,(int)(*number),cf); | |
41 | return(0); | |
42 | } |