Annotation of researchv10no/cmd/dkname.c, revision 1.1

1.1     ! root        1: #include       <string.h>
        !             2: #include       <fio.h>
        !             3: 
        !             4: #define                MAXARG          256             /* no sys name is longer than this */
        !             5: 
        !             6: #define                DK      "/usr/lib/uucp/Systems.dk"
        !             7: 
        !             8: main(argc, argv)
        !             9:        char **argv;
        !            10: {
        !            11:        int fd;
        !            12:        char *s, *ss, *sss;
        !            13:        register char **ap;
        !            14: 
        !            15:        argv++;
        !            16:        if(--argc <= 0){
        !            17:                Fprint(2, "Usage: dkname sysname ...\n");
        !            18:                exit(1);
        !            19:        }
        !            20:        /* make sure we get plausible length args */
        !            21:        for(ap = argv; *ap; ap++)
        !            22:                if(strlen(*ap) > MAXARG)
        !            23:                        (*ap)[MAXARG] = 0;
        !            24:        if((fd = open(DK, 0)) < 0){
        !            25:                perror(DK);
        !            26:                exit(1);
        !            27:        }
        !            28:        while(s = Frdline(fd)){
        !            29:                if((ss = strchr(s, ' ')) == 0)
        !            30:                        continue;       /* bad line */
        !            31:                *ss++ = 0;
        !            32:                if((ss = strchr(ss, ' ')) == 0)
        !            33:                        continue;       /* bad line */
        !            34:                if((ss = strchr(ss+1, ' ')) == 0)
        !            35:                        continue;       /* bad line */
        !            36:                if((ss = strchr(ss+1, ' ')) == 0)
        !            37:                        continue;       /* bad line */
        !            38:                for(ap = argv; *ap; ap++)
        !            39:                        if(strcmp(*ap, s) == 0){
        !            40:                                **ap = 0;
        !            41:                                argc--;
        !            42:                                sss = ss+1;
        !            43:                                if(ss = strchr(sss, ' '))
        !            44:                                        *ss = 0;
        !            45:                                if(ss = strchr(sss, '.'))
        !            46:                                        *ss = 0;
        !            47:                                Fprint(1, "%s\n", sss);
        !            48:                        }
        !            49:                if(argc == 0) break;
        !            50:        }
        !            51:        for(fd = 0, ap = argv; *ap; ap++)
        !            52:                if(**ap)
        !            53:                        Fprint(2, "`%s' not found\n", *ap), fd = 1;
        !            54:        exit(fd);
        !            55: }

unix.superglobalmegacorp.com

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