8 do_us (ftnint
* number
, char *ptr
, ftnlen len
)
12 f__recpos
+= (int) (*number
* len
);
13 if (f__recpos
> f__reclen
)
14 err (f__elist
->cierr
, 110, "do_us");
15 if (fread (ptr
, (size_t) len
, (size_t) (*number
), f__cf
) != (size_t) *number
)
16 err (f__elist
->ciend
, EOF
, "do_us");
21 f__reclen
+= *number
* len
;
22 (void) fwrite (ptr
, (size_t) len
, (size_t) (*number
), f__cf
);
27 do_ud (ftnint
* number
, char *ptr
, ftnlen len
)
29 f__recpos
+= (int) (*number
* len
);
30 if (f__recpos
> f__curunit
->url
&& f__curunit
->url
!= 1)
31 err (f__elist
->cierr
, 110, "do_ud");
36 if (!(i
= fread (ptr
, (size_t) len
, (size_t) (*number
), f__cf
))
37 && !(f__recpos
- *number
* len
))
38 err (f__elist
->cierr
, EOF
, "do_ud");
39 if (i
< (size_t) *number
)
40 memset (ptr
+ i
* len
, 0, (*number
- i
) * len
);
43 if (fread (ptr
, (size_t) len
, (size_t) (*number
), f__cf
) != *number
)
44 err (f__elist
->cierr
, EOF
, "do_ud");
49 (void) fwrite (ptr
, (size_t) len
, (size_t) (*number
), f__cf
);
54 do_uio (ftnint
* number
, char *ptr
, ftnlen len
)
57 return (do_us (number
, ptr
, len
));
59 return (do_ud (number
, ptr
, len
));