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
)