7 if(f__curunit->uend || f__curunit->url <= f__recpos
8 || f__curunit->url == 1) return 0;
11 } while(++f__recpos < f__curunit->url);
17 if(f__curunit->uend) return(-1);
18 if((ch=getc(f__cf))!=EOF)
21 if(f__curunit->url>=f__recpos ||
32 err(f__elist->cierr,errno,"readingd");
41 if(f__recpos <= f__curunit->url || f__curunit->url==1)
44 err(f__elist->cierr,110,"dout");
48 { /*what about work done?*/
49 if(f__curunit->url==1 || f__recpos==f__curunit->url)
51 while(f__recpos<f__curunit->url)
58 err(f__elist->cierr, 110, "dfe");
63 if(f__curunit->url == 1 || f__recpos == f__curunit->url) {
64 f__hiwater = f__recpos = f__cursor = 0;
67 if(f__hiwater > f__recpos)
68 f__recpos = f__hiwater;
70 f__hiwater = f__cursor = 0;
81 f__formatted=f__external=1;
83 f__cursor=f__scale=f__recpos=0;
84 if(a->ciunit>MXUNIT || a->ciunit<0)
85 err(a->cierr,101,"startchk");
86 f__curunit = &f__units[a->ciunit];
87 if(f__curunit->ufd==NULL && fk_open(DIR,FMT,a->ciunit))
88 err(a->cierr,104,"dfe");
89 f__cf=f__curunit->ufd;
90 if(!f__curunit->ufmt) err(a->cierr,102,"dfe");
91 if(!f__curunit->useek) err(a->cierr,104,"dfe");
94 err(a->cierr,130,"dfe");
95 (void) fseek(f__cf,(long)f__curunit->url * (a->cirec-1),SEEK_SET);
100 integer s_rdfe(a) cilist *a;
102 integer s_rdfe(cilist *a)
106 if(f__init != 1) f_init();
109 if(n=c_dfe(a))return(n);
110 if(f__curunit->uwrt && f__nowreading(f__curunit))
111 err(a->cierr,errno,"read start");
115 f__dorevert = f__donewrec = y_err;
117 if(pars_f(f__fmtbuf)<0)
118 err(a->cierr,100,"read start");
123 integer s_wdfe(a) cilist *a;
125 integer s_wdfe(cilist *a)
129 if(f__init != 1) f_init();
132 if(n=c_dfe(a)) return(n);
133 if(f__curunit->uwrt != 1 && f__nowwriting(f__curunit))
134 err(a->cierr,errno,"startwrt");
139 f__donewrec = y_newrec;
141 if(pars_f(f__fmtbuf)<0)
142 err(a->cierr,100,"startwrt");