xref: /csrg-svn/usr.bin/f77/libI77/wfi.c (revision 23093)
120993Slibs /*
2*23093Skre  * Copyright (c) 1980 Regents of the University of California.
3*23093Skre  * All rights reserved.  The Berkeley software License Agreement
4*23093Skre  * specifies the terms and conditions for redistribution.
520993Slibs  *
6*23093Skre  *	@(#)wfi.c	5.1	06/07/85
7*23093Skre  */
8*23093Skre 
9*23093Skre /*
1020993Slibs  * internal (character array) i/o: write formatted, sequential and direct
1120993Slibs  */
1220993Slibs 
1320993Slibs #include "fio.h"
1420993Slibs 
1520993Slibs extern int w_ed(),w_ned();
1620993Slibs extern int z_wnew(), z_putc(), z_tab();
1720993Slibs 
1820993Slibs LOCAL
1920993Slibs c_wfi()
2020993Slibs {
2120993Slibs 	reading = NO;
2220993Slibs 	doed=w_ed;
2320993Slibs 	doned=w_ned;
2420993Slibs 	putn=z_putc;
2520993Slibs 	doend = donewrec = z_wnew;
2620993Slibs 	dorevert = z_wnew;
2720993Slibs 	dotab = z_tab;
2820993Slibs }
2920993Slibs 
3020993Slibs s_wsfi(a) icilist *a;
3120993Slibs {
3220993Slibs 	int n;
3320993Slibs 
3420993Slibs 	c_wfi();
3520993Slibs 	if( n = c_si(a) ) return (n);
3620993Slibs 	if(pars_f()) err(errflag,F_ERFMT,"wsfio")
3720993Slibs 	fmt_bg();
3820993Slibs 	return( OK );
3920993Slibs }
4020993Slibs 
4120993Slibs s_wdfi(a) icilist *a;
4220993Slibs {
4320993Slibs 	int n;
4420993Slibs 
4520993Slibs 	c_wfi();
4620993Slibs 	if( n = c_di(a) ) return (n) ;
4720993Slibs 	if(pars_f()) err(errflag,F_ERFMT,"wdfio")
4820993Slibs 	fmt_bg();
4920993Slibs 	return( OK );
5020993Slibs }
5120993Slibs 
5220993Slibs e_wsfi()
5320993Slibs {
5420993Slibs 	int n;
5520993Slibs 	n = en_fio();
5620993Slibs 	fmtbuf = NULL;
5720993Slibs 	return(n);
5820993Slibs }
5920993Slibs 
6020993Slibs 
6120993Slibs e_wdfi()
6220993Slibs {
6320993Slibs 	return(e_wsfi());
6420993Slibs }
65