Annotation of coherent/a/usr/bob/uusrc/junk/test.c, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: #include <signal.h>
        !             3: char   pr_buf[BUFSIZ];
        !             4: char   *pr_bufp;
        !             5: char   *teststr =
        !             6: "S /usr/spool/uucppublic/radio /tmp/sendme wgl -dc D.blistrn02f2 0644\n";
        !             7: extern char    *strtok();
        !             8: catchsegv()
        !             9: {
        !            10:        char *segmsg ="Segmentation violation";
        !            11:        write(1, segmsg, strlen(segmsg));
        !            12:        exit(1);
        !            13: }
        !            14: 
        !            15: catchmisc()
        !            16: {
        !            17:        char *segmsg ="Local Signal";
        !            18:        write(1, segmsg, strlen(segmsg));
        !            19:        exit(1);
        !            20: }
        !            21: 
        !            22: main()
        !            23: {
        !            24:        int     i;
        !            25:        char    *sp, *p;
        !            26: 
        !            27:        signal(SIGSEGV, catchsegv);
        !            28:        signal(SIGTERM, catchmisc);
        !            29:        signal(SIGHUP, catchmisc);
        !            30:        signal(SIGINT, catchmisc);
        !            31:        pr_bufp = pr_buf;
        !            32:        for (i = 0; i <= 33; i++) {
        !            33:                prhex(i);
        !            34:                *pr_bufp++ = ' ';
        !            35:        }
        !            36:        *pr_bufp++ = '\0';
        !            37:        printf ("[%s]\n", pr_buf);
        !            38:        printf("getoct(0666) %o, getoct(04755) %o.\n", getoct("0666"),
        !            39:                getoct("04755"));
        !            40:        printf("we are located at %s.\n", getwd());
        !            41:        sleep(10);
        !            42:        sp = teststr;
        !            43:        for (i = 1; i < 15; i++) {
        !            44:                p = strtok(sp, " \t\n");
        !            45:                if (p == NULL)
        !            46:                        break;
        !            47:                printf("Token %d is %s.\n", i, p);
        !            48:                sp = NULL;
        !            49:        }
        !            50: }
        !            51: 
        !            52: getoct(s)
        !            53: char   *s;
        !            54: {
        !            55:        char    *cp;
        !            56:        char    c;
        !            57:        int     n;
        !            58: 
        !            59:        cp = s;
        !            60:        n = 0;
        !            61:        printf("arg is %s\n", s);
        !            62:        while ((c = *cp) != '\0') {
        !            63:                printf("n is %o, cp is %c.\n", n, *cp);
        !            64:                n = (n * 8) + *cp++ -'0';
        !            65:        }
        !            66:        return n;
        !            67: }
        !            68:                
        !            69: prhex(d)
        !            70: int    d;
        !            71: {
        !            72:        int     c;
        !            73:        c = d >> 4;
        !            74:        *pr_bufp++ = (c >= 10) ? c + 'A' - 10 : c + '0';
        !            75:        c = d & 15;
        !            76:        *pr_bufp++ = (c >= 10) ? c + 'A' - 10 : c + '0';
        !            77: }

unix.superglobalmegacorp.com

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