|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.