xref: /original-bsd/usr.bin/f77/libI77/wfi.c (revision fe13e58d)
1*fe13e58dSlibs /*
2*fe13e58dSlibs char id_wfi[] = "@(#)wfi.c	1.1";
3*fe13e58dSlibs  *
4*fe13e58dSlibs  * internal (character array) i/o: write formatted, sequential and direct
5*fe13e58dSlibs  */
6*fe13e58dSlibs 
7*fe13e58dSlibs #include "fio.h"
8*fe13e58dSlibs 
9*fe13e58dSlibs extern int w_ed(),w_ned();
10*fe13e58dSlibs extern int z_wnew(), z_putc(), z_tab();
11*fe13e58dSlibs 
12*fe13e58dSlibs LOCAL
13*fe13e58dSlibs c_wfi()
14*fe13e58dSlibs {
15*fe13e58dSlibs 	reading = NO;
16*fe13e58dSlibs 	doed=w_ed;
17*fe13e58dSlibs 	doned=w_ned;
18*fe13e58dSlibs 	putn=z_putc;
19*fe13e58dSlibs 	doend = donewrec = z_wnew;
20*fe13e58dSlibs 	dorevert = z_wnew;
21*fe13e58dSlibs 	dotab = z_tab;
22*fe13e58dSlibs }
23*fe13e58dSlibs 
24*fe13e58dSlibs s_wsfi(a) icilist *a;
25*fe13e58dSlibs {
26*fe13e58dSlibs 	int n;
27*fe13e58dSlibs 
28*fe13e58dSlibs 	c_wfi();
29*fe13e58dSlibs 	if( n = c_si(a) ) return (n);
30*fe13e58dSlibs 	if(pars_f()) err(errflag,F_ERFMT,"wsfio")
31*fe13e58dSlibs 	fmt_bg();
32*fe13e58dSlibs 	return( OK );
33*fe13e58dSlibs }
34*fe13e58dSlibs 
35*fe13e58dSlibs s_wdfi(a) icilist *a;
36*fe13e58dSlibs {
37*fe13e58dSlibs 	int n;
38*fe13e58dSlibs 
39*fe13e58dSlibs 	c_wfi();
40*fe13e58dSlibs 	if( n = c_di(a) ) return (n) ;
41*fe13e58dSlibs 	if(pars_f()) err(errflag,F_ERFMT,"wdfio")
42*fe13e58dSlibs 	fmt_bg();
43*fe13e58dSlibs 	return( OK );
44*fe13e58dSlibs }
45*fe13e58dSlibs 
46*fe13e58dSlibs e_wsfi()
47*fe13e58dSlibs {
48*fe13e58dSlibs 	int n;
49*fe13e58dSlibs 	n = en_fio();
50*fe13e58dSlibs 	fmtbuf = NULL;
51*fe13e58dSlibs 	return(n);
52*fe13e58dSlibs }
53*fe13e58dSlibs 
54*fe13e58dSlibs 
55*fe13e58dSlibs e_wdfi()
56*fe13e58dSlibs {
57*fe13e58dSlibs 	return(e_wsfi());
58*fe13e58dSlibs }
59