home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V6 / usr / source / s2 / mknod.c < prev    next >
Encoding:
C/C++ Source or Header  |  1975-05-13  |  563 b   |  43 lines

  1. main(argc, argv)
  2. int argc;
  3. char **argv;
  4. {
  5.     int m, a, b;
  6.  
  7.     if(argc != 5) {
  8.         printf("arg count\n");
  9.         goto usage;
  10.     }
  11.     if(*argv[2] == 'b')
  12.         m = 0160666; else
  13.     if(*argv[2] == 'c')
  14.         m = 0120666; else
  15.         goto usage;
  16.     a = number(argv[3]);
  17.     if(a < 0)
  18.         goto usage;
  19.     b = number(argv[4]);
  20.     if(b < 0)
  21.         goto usage;
  22.     if(mknod(argv[1], m, (a<<8)|b) < 0)
  23.         perror("mknod");
  24.     exit();
  25.  
  26. usage:
  27.     printf("usage: mknod name b/c major minor\n");
  28. }
  29.  
  30. number(s)
  31. char *s;
  32. {
  33.     int n, c;
  34.  
  35.     n = 0;
  36.     while(c = *s++) {
  37.         if(c<'0' || c>'9')
  38.             return(-1);
  39.         n = n*10 + c-'0';
  40.     }
  41.     return(n);
  42. }
  43.