xref: /original-bsd/usr.bin/f77/libI77/rfi.c (revision f3455753)
1*f3455753Sbostic /*-
2*f3455753Sbostic  * Copyright (c) 1980 The Regents of the University of California.
3*f3455753Sbostic  * All rights reserved.
413d56c0bSlibs  *
5*f3455753Sbostic  * %sccs.include.proprietary.c%
6497cb183Skre  */
7497cb183Skre 
8*f3455753Sbostic #ifndef lint
9*f3455753Sbostic static char sccsid[] = "@(#)rfi.c	5.2 (Berkeley) 04/12/91";
10*f3455753Sbostic #endif /* not lint */
11*f3455753Sbostic 
12497cb183Skre /*
1313d56c0bSlibs  * internal (character array) i/o: read formatted, sequential and direct
1413d56c0bSlibs  */
1513d56c0bSlibs 
1613d56c0bSlibs #include "fio.h"
1713d56c0bSlibs 
1813d56c0bSlibs extern int rd_ed(),rd_ned();
1913d56c0bSlibs extern int z_getc(),z_rnew(),z_tab();
2013d56c0bSlibs 
2113d56c0bSlibs LOCAL
c_rfi()2213d56c0bSlibs c_rfi()
2313d56c0bSlibs {
2413d56c0bSlibs 	reading = YES;
2513d56c0bSlibs 	doed=rd_ed;
2613d56c0bSlibs 	doned=rd_ned;
2713d56c0bSlibs 	getn=z_getc;
2813d56c0bSlibs 	doend = donewrec = z_rnew;
2913d56c0bSlibs 	dorevert = z_rnew;
3013d56c0bSlibs 	dotab = z_tab;
3113d56c0bSlibs }
3213d56c0bSlibs 
s_rsfi(a)3313d56c0bSlibs s_rsfi(a) icilist *a;
3413d56c0bSlibs {
3513d56c0bSlibs 	int n;
3613d56c0bSlibs 
3713d56c0bSlibs 	c_rfi();
3813d56c0bSlibs 	if( n = c_si(a) ) return (n);
3913d56c0bSlibs 	if(pars_f()) err(errflag,F_ERFMT,"rsfio")
4013d56c0bSlibs 	fmt_bg();
4113d56c0bSlibs 	return( OK );
4213d56c0bSlibs }
4313d56c0bSlibs 
s_rdfi(a)4413d56c0bSlibs s_rdfi(a) icilist *a;
4513d56c0bSlibs {
4613d56c0bSlibs 	int n;
4713d56c0bSlibs 
4813d56c0bSlibs 	c_rfi();
4913d56c0bSlibs 	if( n = c_di(a) ) return (n);
5013d56c0bSlibs 	if(pars_f()) err(errflag,F_ERFMT,"rdfio")
5113d56c0bSlibs 	fmt_bg();
5213d56c0bSlibs 	return( OK );
5313d56c0bSlibs }
5413d56c0bSlibs 
e_rsfi()5513d56c0bSlibs e_rsfi()
5613d56c0bSlibs {	int n;
5713d56c0bSlibs 	n = en_fio();
5813d56c0bSlibs 	fmtbuf = NULL;
5913d56c0bSlibs 	return(n);
6013d56c0bSlibs }
6113d56c0bSlibs 
e_rdfi()6213d56c0bSlibs e_rdfi()
6313d56c0bSlibs {
6413d56c0bSlibs 	return(e_rsfi());
6513d56c0bSlibs }
66