6 integer s_rsue(a) cilist *a;
11 if(n=c_sue(a)) return(n);
13 if(curunit->uwrt && nowreading(curunit))
14 err(a->cierr, errno, "read start");
15 if(fread((char *)&reclen,sizeof(int),1,cf)
19 err(a->ciend, EOF, "start");
22 err(a->cierr, errno, "start");
26 integer s_wsue(a) cilist *a;
30 if(n=c_sue(a)) return(n);
33 if(curunit->uwrt != 1 && nowwriting(curunit))
34 err(a->cierr, errno, "write start");
36 (void) fseek(cf,(long)sizeof(int),SEEK_CUR);
41 if(a->ciunit >= MXUNIT || a->ciunit < 0)
42 err(a->cierr,101,"startio");
43 external=sequential=1;
45 curunit = &units[a->ciunit];
47 if(curunit->ufd==NULL && fk_open(SEQ,UNF,a->ciunit))
48 err(a->cierr,114,"sue");
50 if(curunit->ufmt) err(a->cierr,103,"sue")
51 if(!curunit->useek) err(a->cierr,103,"sue")
56 (void) fwrite((char *)&reclen,sizeof(int),1,cf);
58 (void) fseek(cf,recloc,SEEK_SET);
59 (void) fwrite((char *)&reclen,sizeof(int),1,cf);
60 (void) fseek(cf,loc,SEEK_SET);
65 (void) fseek(cf,(long)(reclen-recpos+sizeof(int)),SEEK_CUR);