BSD 4 release
[unix-history] / usr / src / cmd / mknod.c
CommitLineData
31cef89c 1static char *sccsid = "@(#)mknod.c 4.1 (Berkeley) 10/1/80";
f20a0651
BJ
2main(argc, argv)
3int argc;
4char **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
27usage:
28 printf("usage: mknod name b/c major minor\n");
29}
30
31number(s)
32char *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}