|
|
1.1 root 1: #include <stdio.h>
2:
3: int dbg;
4: int jpflag;
5: char foo;
6:
7: main(argc, argv)
8: char *argv[];
9: {
10: FILE *f, *popen();
11: FILE *tojerq, *fromjerq;
12: int c;
13: char buf[100], fname[100];
14:
15: while (argc > 1 && argv[1][0] == '-') {
16: switch (argv[1][1]) {
17: case 'd':
18: dbg = 1;
19: break;
20: case 'j':
21: jpflag = 1;
22: break;
23: }
24: argc--;
25: argv++;
26: }
27: if (argc > 1)
28: strcpy(fname, argv[1]);
29: if (jpflag == 0)
30: system("run /usr/cvw/ideal/idfilt/iderq");
31: /*
32: if ((pfp = popen("/usr/cvw/ideal/ideal -n >/dev/tty5", "w")) == NULL) {
33: fprintf(stderr, "jdeal: can't open ideal\n");
34: exit(2);
35: }
36: */
37: if ((tojerq = fopen ("/dev/tty5", "w")) == NULL) {
38: fprintf (stderr, "jdeal: can't talk to jerq\n");
39: exit(2);
40: }
41: if ((fromjerq = fopen ("/dev/tty5", "r")) == NULL) {
42: fprintf (stderr, "jdeal: can't hear jerq\n");
43: exit (3);
44: }
45: while (fgets(buf, sizeof buf, stdin) != NULL) {
46: switch (buf[0]) {
47: case 'q':
48: exit(0);
49: break;
50: case '\n':
51: case 'p':
52: f = fopen(fname, "r");
53: fprintf (stderr, "got here\n");
54: while (((foo = getc(fromjerq)) != EOF) && ((c = getc(f)) != EOF)) {
55: fprintf (stderr, "%c", c);
56: putc(c, tojerq);
57: }
58: fflush(tojerq);
59: fclose(f);
60: break;
61: case 'e':
62: if (sscanf(buf, "%*s %s", fname) > 0)
63: printf("editing file %s\n", fname);
64: else
65: sprintf(buf, "e %s", fname);
66: system(buf);
67: break;
68: case 'f':
69: sscanf(buf, "%*s %s", fname);
70: printf("%s\n", fname);
71: break;
72: case '!':
73: system(buf+1);
74: printf("!\n");
75: break;
76: default:
77: printf("eh?\n");
78: break;
79: }
80: }
81: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.