Annotation of 3BSD/cmd/call.c, revision 1.1.1.1

1.1       root        1: char *dn;
                      2: 
                      3: main(argc, argv)
                      4: char *argv[];
                      5: {
                      6:        register f, n, c;
                      7: 
                      8: 
                      9:        if(argc < 2)
                     10:                goto arg;
                     11:        dn = "/dev/dn0";
                     12:        if(*argv[1] == '-') {
                     13:                dn = argv[1]+1;
                     14:                argc--;
                     15:                argv++;
                     16:        }
                     17:        if(argc < 2)
                     18:                goto arg;
                     19:        c = 0;
                     20: loop:
                     21:        f = open(dn, 1);
                     22:        if(f < 0)
                     23:                goto slp;
                     24:        for(n=0; argv[1][n]; n++)
                     25:                ;
                     26:        alarm(120);
                     27:        if(write(f, argv[1], n) == n)
                     28:                exit(0);
                     29: 
                     30: slp:
                     31:        if(f >= 0)
                     32:                close(f);
                     33:        c++;
                     34:        if(c > 100)
                     35:                exit(1);
                     36:        sleep(10);
                     37:        goto loop;
                     38: 
                     39: arg:
                     40:        printf("arg c\n");
                     41:        exit(1);
                     42: }

unix.superglobalmegacorp.com

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