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