Annotation of coherent/a/usr/bob/uusrc/junk/test.c, revision 1.1.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.