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