Annotation of researchv10no/cmd/ideal/idfilt/jdeal.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.