xref: /csrg-svn/usr.bin/f77/libI77/rfi.c (revision 20992)
1*20992Slibs /*
2*20992Slibs char id_rfi[] = "@(#)rfi.c	1.1";
3*20992Slibs  *
4*20992Slibs  * internal (character array) i/o: read formatted, sequential and direct
5*20992Slibs  */
6*20992Slibs 
7*20992Slibs #include "fio.h"
8*20992Slibs 
9*20992Slibs extern int rd_ed(),rd_ned();
10*20992Slibs extern int z_getc(),z_rnew(),z_tab();
11*20992Slibs 
12*20992Slibs LOCAL
13*20992Slibs c_rfi()
14*20992Slibs {
15*20992Slibs 	reading = YES;
16*20992Slibs 	doed=rd_ed;
17*20992Slibs 	doned=rd_ned;
18*20992Slibs 	getn=z_getc;
19*20992Slibs 	doend = donewrec = z_rnew;
20*20992Slibs 	dorevert = z_rnew;
21*20992Slibs 	dotab = z_tab;
22*20992Slibs }
23*20992Slibs 
24*20992Slibs s_rsfi(a) icilist *a;
25*20992Slibs {
26*20992Slibs 	int n;
27*20992Slibs 
28*20992Slibs 	c_rfi();
29*20992Slibs 	if( n = c_si(a) ) return (n);
30*20992Slibs 	if(pars_f()) err(errflag,F_ERFMT,"rsfio")
31*20992Slibs 	fmt_bg();
32*20992Slibs 	return( OK );
33*20992Slibs }
34*20992Slibs 
35*20992Slibs s_rdfi(a) icilist *a;
36*20992Slibs {
37*20992Slibs 	int n;
38*20992Slibs 
39*20992Slibs 	c_rfi();
40*20992Slibs 	if( n = c_di(a) ) return (n);
41*20992Slibs 	if(pars_f()) err(errflag,F_ERFMT,"rdfio")
42*20992Slibs 	fmt_bg();
43*20992Slibs 	return( OK );
44*20992Slibs }
45*20992Slibs 
46*20992Slibs e_rsfi()
47*20992Slibs {	int n;
48*20992Slibs 	n = en_fio();
49*20992Slibs 	fmtbuf = NULL;
50*20992Slibs 	return(n);
51*20992Slibs }
52*20992Slibs 
53*20992Slibs e_rdfi()
54*20992Slibs {
55*20992Slibs 	return(e_rsfi());
56*20992Slibs }
57