xref: /csrg-svn/usr.bin/f77/libI77/rfi.c (revision 47943)
1*47943Sbostic /*-
2*47943Sbostic  * Copyright (c) 1980 The Regents of the University of California.
3*47943Sbostic  * All rights reserved.
420992Slibs  *
5*47943Sbostic  * %sccs.include.proprietary.c%
623087Skre  */
723087Skre 
8*47943Sbostic #ifndef lint
9*47943Sbostic static char sccsid[] = "@(#)rfi.c	5.2 (Berkeley) 04/12/91";
10*47943Sbostic #endif /* not lint */
11*47943Sbostic 
1223087Skre /*
1320992Slibs  * internal (character array) i/o: read formatted, sequential and direct
1420992Slibs  */
1520992Slibs 
1620992Slibs #include "fio.h"
1720992Slibs 
1820992Slibs extern int rd_ed(),rd_ned();
1920992Slibs extern int z_getc(),z_rnew(),z_tab();
2020992Slibs 
2120992Slibs LOCAL
c_rfi()2220992Slibs c_rfi()
2320992Slibs {
2420992Slibs 	reading = YES;
2520992Slibs 	doed=rd_ed;
2620992Slibs 	doned=rd_ned;
2720992Slibs 	getn=z_getc;
2820992Slibs 	doend = donewrec = z_rnew;
2920992Slibs 	dorevert = z_rnew;
3020992Slibs 	dotab = z_tab;
3120992Slibs }
3220992Slibs 
s_rsfi(a)3320992Slibs s_rsfi(a) icilist *a;
3420992Slibs {
3520992Slibs 	int n;
3620992Slibs 
3720992Slibs 	c_rfi();
3820992Slibs 	if( n = c_si(a) ) return (n);
3920992Slibs 	if(pars_f()) err(errflag,F_ERFMT,"rsfio")
4020992Slibs 	fmt_bg();
4120992Slibs 	return( OK );
4220992Slibs }
4320992Slibs 
s_rdfi(a)4420992Slibs s_rdfi(a) icilist *a;
4520992Slibs {
4620992Slibs 	int n;
4720992Slibs 
4820992Slibs 	c_rfi();
4920992Slibs 	if( n = c_di(a) ) return (n);
5020992Slibs 	if(pars_f()) err(errflag,F_ERFMT,"rdfio")
5120992Slibs 	fmt_bg();
5220992Slibs 	return( OK );
5320992Slibs }
5420992Slibs 
e_rsfi()5520992Slibs e_rsfi()
5620992Slibs {	int n;
5720992Slibs 	n = en_fio();
5820992Slibs 	fmtbuf = NULL;
5920992Slibs 	return(n);
6020992Slibs }
6120992Slibs 
e_rdfi()6220992Slibs e_rdfi()
6320992Slibs {
6420992Slibs 	return(e_rsfi());
6520992Slibs }
66