xref: /csrg-svn/usr.bin/learn/NOTUSED/tee.c (revision 11266)
1*11266Smckusick #ifndef lint
2*11266Smckusick static char sccsid[] = "@(#)tee.c	4.1	(Berkeley)	02/24/83";
3*11266Smckusick #endif not lint
4*11266Smckusick 
5*11266Smckusick #include <stdio.h>
6*11266Smckusick main()
7*11266Smckusick {
8*11266Smckusick 	int f, c;
9*11266Smckusick 
10*11266Smckusick 	f = creat(".ocopy", 0666);
11*11266Smckusick 	while (read(0, &c, 1) == 1) {
12*11266Smckusick 		write (1, &c, 1);
13*11266Smckusick 		put(c, f);
14*11266Smckusick 	}
15*11266Smckusick 	fl(f);
16*11266Smckusick 	close(f);
17*11266Smckusick }
18*11266Smckusick 
19*11266Smckusick static char ln[BUFSIZ];
20*11266Smckusick char *p = ln;
21*11266Smckusick put(c, f)
22*11266Smckusick {
23*11266Smckusick 	*p++ = c;
24*11266Smckusick 	if (c == '\n') {
25*11266Smckusick 		fl(f);
26*11266Smckusick 		p=ln;
27*11266Smckusick 	}
28*11266Smckusick }
29*11266Smckusick fl(f)
30*11266Smckusick {
31*11266Smckusick 	register char *s;
32*11266Smckusick 
33*11266Smckusick 	s = ln;
34*11266Smckusick 	while (*s == '$' && *(s+1) == ' ')
35*11266Smckusick 		s += 2;
36*11266Smckusick 	write(f, s, p-s);
37*11266Smckusick }
38