6 extern icilist *f__svic;
11 if(f__recpos++ < f__svic->icirlen) {
12 if(f__icptr >= f__icend) err(f__svic->iciend,(EOF),"endfile");
13 return(*(unsigned char *)f__icptr++);
25 if (f__icptr < f__icend && f__recpos++ < f__svic->icirlen)
30 f__icptr = f__svic->iciunit + (++f__icnum)*f__svic->icirlen;
51 f__fatal (131, "I/O recursion");
53 f__elist = (cilist *)a;
56 f__sequential=f__formatted=1;
58 if(pars_f(f__fmtbuf)<0)
59 err(a->icierr,100,"startint");
61 f__cblank=f__cplus=f__scale=0;
66 f__icptr = a->iciunit;
67 f__icend = f__icptr + a->icirlen*a->icirnum;
77 f__hiwater = f__recpos = f__cursor = 0;
78 return(f__workdone=0);
82 integer s_rsfi(a) icilist *a;
84 integer s_rsfi(icilist *a)
87 if(n=c_si(a)) return(n);
100 if (f__recpos < f__hiwater) {
101 f__icptr += f__hiwater - f__recpos;
102 f__recpos = f__hiwater;
104 while(f__recpos++ < f__svic->icirlen)
113 integer s_wsfi(a) icilist *a;
115 integer s_wsfi(icilist *a)
118 if(n=c_si(a)) return(n);
123 f__dorevert = iw_rev;
124 f__donewrec = z_wnew;
141 if(f__svic->icirnum != 1
142 && (f__icnum > f__svic->icirnum
143 || (f__icnum == f__svic->icirnum && (f__recpos | f__hiwater))))
144 err(f__svic->icierr,110,"inwrite");
145 if (f__recpos < f__hiwater)
146 f__recpos = f__hiwater;
147 if (f__recpos >= f__svic->icirlen)
148 err(f__svic->icierr,110,"recend");
149 if (!f__recpos && f__icnum)
151 while(f__recpos++ < f__svic->icirlen)