4 extern uiolen f__reclen
;
10 f__external
= f__sequential
= 1;
12 f__curunit
= &f__units
[a
->ciunit
];
13 if (a
->ciunit
>= MXUNIT
|| a
->ciunit
< 0)
14 err (a
->cierr
, 101, "startio");
16 if (f__curunit
->ufd
== NULL
&& fk_open (SEQ
, UNF
, a
->ciunit
))
17 err (a
->cierr
, 114, "sue");
18 f__cf
= f__curunit
->ufd
;
20 err (a
->cierr
, 103, "sue");
21 if (!f__curunit
->useek
)
22 err (a
->cierr
, 103, "sue");
37 if (f__curunit
->uwrt
&& f__nowreading (f__curunit
))
38 err (a
->cierr
, errno
, "read start");
39 if (fread ((char *) &f__reclen
, sizeof (uiolen
), 1, f__cf
) != 1)
44 err (a
->ciend
, EOF
, "start");
47 err (a
->cierr
, errno
, "start");
63 if (f__curunit
->uwrt
!= 1 && f__nowwriting (f__curunit
))
64 err (a
->cierr
, errno
, "write start");
65 f__recloc
= FTELL (f__cf
);
66 FSEEK (f__cf
, (off_t
) sizeof (uiolen
), SEEK_CUR
);
75 fwrite ((char *) &f__reclen
, sizeof (uiolen
), 1, f__cf
);
78 err (f__elist
->cierr
, errno
, "write end");
81 FSEEK (f__cf
, f__recloc
, SEEK_SET
);
82 fwrite ((char *) &f__reclen
, sizeof (uiolen
), 1, f__cf
);
83 FSEEK (f__cf
, loc
, SEEK_SET
);
91 FSEEK (f__cf
, (off_t
) (f__reclen
- f__recpos
+ sizeof (uiolen
)), SEEK_CUR
);