AUSAM/source/S/mknod.c
main(argc, argv)
int argc;
char **argv;
{
register int m, a, b;
if(argc != 5)
{
printf("arg count\n");
goto usage;
}
if(*argv[2] == 'b')
m = 0160666;
else if(*argv[2] == 'c')
m = 0120666;
else
goto usage;
a = number(argv[3]);
b = number(argv[4]);
if( a == -1 || b == -1 )
goto usage;
if(mknod(argv[1], m, (a<<8)|b) < 0)
{
perror("mknod");
return 1;
}
return 0;
usage:
printf("usage: mknod name b/c major minor\n");
return 1;
}
number(s)
register char *s;
{
register int n = 0;
register char c;
while(c = *s++)
{
if( c<'0' || c>'9' )
return -1;
n = n*10 + c-'0';
if( n < 0 )
return -1;
}
return n;
}