xref: /csrg-svn/usr.bin/f77/libI77/rfi.c (revision 23087)
120992Slibs /*
2*23087Skre  * Copyright (c) 1980 Regents of the University of California.
3*23087Skre  * All rights reserved.  The Berkeley software License Agreement
4*23087Skre  * specifies the terms and conditions for redistribution.
520992Slibs  *
6*23087Skre  *	@(#)rfi.c	5.1	06/07/85
7*23087Skre  */
8*23087Skre 
9*23087Skre /*
1020992Slibs  * internal (character array) i/o: read formatted, sequential and direct
1120992Slibs  */
1220992Slibs 
1320992Slibs #include "fio.h"
1420992Slibs 
1520992Slibs extern int rd_ed(),rd_ned();
1620992Slibs extern int z_getc(),z_rnew(),z_tab();
1720992Slibs 
1820992Slibs LOCAL
1920992Slibs c_rfi()
2020992Slibs {
2120992Slibs 	reading = YES;
2220992Slibs 	doed=rd_ed;
2320992Slibs 	doned=rd_ned;
2420992Slibs 	getn=z_getc;
2520992Slibs 	doend = donewrec = z_rnew;
2620992Slibs 	dorevert = z_rnew;
2720992Slibs 	dotab = z_tab;
2820992Slibs }
2920992Slibs 
3020992Slibs s_rsfi(a) icilist *a;
3120992Slibs {
3220992Slibs 	int n;
3320992Slibs 
3420992Slibs 	c_rfi();
3520992Slibs 	if( n = c_si(a) ) return (n);
3620992Slibs 	if(pars_f()) err(errflag,F_ERFMT,"rsfio")
3720992Slibs 	fmt_bg();
3820992Slibs 	return( OK );
3920992Slibs }
4020992Slibs 
4120992Slibs s_rdfi(a) icilist *a;
4220992Slibs {
4320992Slibs 	int n;
4420992Slibs 
4520992Slibs 	c_rfi();
4620992Slibs 	if( n = c_di(a) ) return (n);
4720992Slibs 	if(pars_f()) err(errflag,F_ERFMT,"rdfio")
4820992Slibs 	fmt_bg();
4920992Slibs 	return( OK );
5020992Slibs }
5120992Slibs 
5220992Slibs e_rsfi()
5320992Slibs {	int n;
5420992Slibs 	n = en_fio();
5520992Slibs 	fmtbuf = NULL;
5620992Slibs 	return(n);
5720992Slibs }
5820992Slibs 
5920992Slibs e_rdfi()
6020992Slibs {
6120992Slibs 	return(e_rsfi());
6220992Slibs }
63