|
|
1.1 ! root 1: static char *sccsid = "@(#)mknod.c 4.1 (Berkeley) 10/1/80"; ! 2: main(argc, argv) ! 3: int argc; ! 4: char **argv; ! 5: { ! 6: int m, a, b; ! 7: ! 8: if(argc != 5) { ! 9: printf("arg count\n"); ! 10: goto usage; ! 11: } ! 12: if(*argv[2] == 'b') ! 13: m = 060666; else ! 14: if(*argv[2] == 'c') ! 15: m = 020666; else ! 16: goto usage; ! 17: a = number(argv[3]); ! 18: if(a < 0) ! 19: goto usage; ! 20: b = number(argv[4]); ! 21: if(b < 0) ! 22: goto usage; ! 23: if(mknod(argv[1], m, (a<<8)|b) < 0) ! 24: perror("mknod"); ! 25: exit(0); ! 26: ! 27: usage: ! 28: printf("usage: mknod name b/c major minor\n"); ! 29: } ! 30: ! 31: number(s) ! 32: char *s; ! 33: { ! 34: int n, c; ! 35: ! 36: n = 0; ! 37: while(c = *s++) { ! 38: if(c<'0' || c>'9') ! 39: return(-1); ! 40: n = n*10 + c-'0'; ! 41: } ! 42: return(n); ! 43: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.