xref: /original-bsd/usr.bin/f77/libI77/wfi.c (revision f3455753)
1*f3455753Sbostic /*-
2*f3455753Sbostic  * Copyright (c) 1980 The Regents of the University of California.
3*f3455753Sbostic  * All rights reserved.
4fe13e58dSlibs  *
5*f3455753Sbostic  * %sccs.include.proprietary.c%
68d5ee4dbSkre  */
78d5ee4dbSkre 
8*f3455753Sbostic #ifndef lint
9*f3455753Sbostic static char sccsid[] = "@(#)wfi.c	5.2 (Berkeley) 04/12/91";
10*f3455753Sbostic #endif /* not lint */
11*f3455753Sbostic 
128d5ee4dbSkre /*
13fe13e58dSlibs  * internal (character array) i/o: write formatted, sequential and direct
14fe13e58dSlibs  */
15fe13e58dSlibs 
16fe13e58dSlibs #include "fio.h"
17fe13e58dSlibs 
18fe13e58dSlibs extern int w_ed(),w_ned();
19fe13e58dSlibs extern int z_wnew(), z_putc(), z_tab();
20fe13e58dSlibs 
21fe13e58dSlibs LOCAL
c_wfi()22fe13e58dSlibs c_wfi()
23fe13e58dSlibs {
24fe13e58dSlibs 	reading = NO;
25fe13e58dSlibs 	doed=w_ed;
26fe13e58dSlibs 	doned=w_ned;
27fe13e58dSlibs 	putn=z_putc;
28fe13e58dSlibs 	doend = donewrec = z_wnew;
29fe13e58dSlibs 	dorevert = z_wnew;
30fe13e58dSlibs 	dotab = z_tab;
31fe13e58dSlibs }
32fe13e58dSlibs 
s_wsfi(a)33fe13e58dSlibs s_wsfi(a) icilist *a;
34fe13e58dSlibs {
35fe13e58dSlibs 	int n;
36fe13e58dSlibs 
37fe13e58dSlibs 	c_wfi();
38fe13e58dSlibs 	if( n = c_si(a) ) return (n);
39fe13e58dSlibs 	if(pars_f()) err(errflag,F_ERFMT,"wsfio")
40fe13e58dSlibs 	fmt_bg();
41fe13e58dSlibs 	return( OK );
42fe13e58dSlibs }
43fe13e58dSlibs 
s_wdfi(a)44fe13e58dSlibs s_wdfi(a) icilist *a;
45fe13e58dSlibs {
46fe13e58dSlibs 	int n;
47fe13e58dSlibs 
48fe13e58dSlibs 	c_wfi();
49fe13e58dSlibs 	if( n = c_di(a) ) return (n) ;
50fe13e58dSlibs 	if(pars_f()) err(errflag,F_ERFMT,"wdfio")
51fe13e58dSlibs 	fmt_bg();
52fe13e58dSlibs 	return( OK );
53fe13e58dSlibs }
54fe13e58dSlibs 
e_wsfi()55fe13e58dSlibs e_wsfi()
56fe13e58dSlibs {
57fe13e58dSlibs 	int n;
58fe13e58dSlibs 	n = en_fio();
59fe13e58dSlibs 	fmtbuf = NULL;
60fe13e58dSlibs 	return(n);
61fe13e58dSlibs }
62fe13e58dSlibs 
63fe13e58dSlibs 
e_wdfi()64fe13e58dSlibs e_wdfi()
65fe13e58dSlibs {
66fe13e58dSlibs 	return(e_wsfi());
67fe13e58dSlibs }
68