BSD 3 development
[unix-history] / usr / src / cmd / learn / maktee.c
CommitLineData
42d6e430
BJ
1#include "stdio.h"
2#include "signal.h"
3#include "lrnref"
4
5static int oldout;
6static char tee[50];
7
8maktee()
9{
10 int fpip[2], in, out;
11
12 if (tee[0] == 0)
13 sprintf(tee, "%s/tee", direct);
14 pipe(fpip);
15 in = fpip[0];
16 out= fpip[1];
17 if (fork() == 0) {
18 signal(SIGINT, SIG_IGN);
19 close(0);
20 close(out);
21 dup(in);
22 close(in);
23 execl (tee, "lrntee", 0);
24 fprintf(stderr, "Tee exec failed\n");
25 exit(1);
26 }
27 close(in);
28 fflush(stdout);
29 oldout = dup(1);
30 close(1);
31 if (dup(out) != 1)
32 fprintf(stderr, "Error making tee for copyout\n");
33 close(out);
34 return(1);
35}
36
37untee()
38{
39 int x;
40
41 fflush(stdout);
42 close(1);
43 dup(oldout);
44 close(oldout);
45 wait(&x);
46}