if(a
->ciunit
>= MXUNIT
|| a
->ciunit
< 0)
err(a
->cierr
,101,"startio");
f__external
=f__sequential
=1;
f__curunit
= &f__units
[a
->ciunit
];
if(f__curunit
->ufd
==NULL
&& fk_open(SEQ
,UNF
,a
->ciunit
))
if(f__curunit
->ufmt
) err(a
->cierr
,103,"sue")
if(!f__curunit
->useek
) err(a
->cierr
,103,"sue")
integer
s_rsue(a
) cilist
*a
;
integer
s_rsue(cilist
*a
)
if(n
=c_sue(a
)) return(n
);
if(f__curunit
->uwrt
&& f__nowreading(f__curunit
))
err(a
->cierr
, errno
, "read start");
if(fread((char *)&f__reclen
,sizeof(uiolen
),1,f__cf
)
err(a
->ciend
, EOF
, "start");
err(a
->cierr
, errno
, "start");
integer
s_wsue(a
) cilist
*a
;
integer
s_wsue(cilist
*a
)
if(n
=c_sue(a
)) return(n
);
if(f__curunit
->uwrt
!= 1 && f__nowwriting(f__curunit
))
err(a
->cierr
, errno
, "write start");
(void) fseek(f__cf
,(long)sizeof(uiolen
),SEEK_CUR
);
(void) fwrite((char *)&f__reclen
,sizeof(uiolen
),1,f__cf
);
(void) fseek(f__cf
,f__recloc
,SEEK_SET
);
(void) fwrite((char *)&f__reclen
,sizeof(uiolen
),1,f__cf
);
(void) fseek(f__cf
,loc
,SEEK_SET
);
(void) fseek(f__cf
,(long)(f__reclen
-f__recpos
+sizeof(uiolen
)),SEEK_CUR
);