[PATCH] cleanup the mknod code a bit.

This commit is contained in:
greg@kroah.com 2003-08-04 21:59:50 -07:00 committed by Greg KH
parent 0abf54fc09
commit 1331c889c3
2 changed files with 18 additions and 14 deletions

View File

@ -78,20 +78,27 @@ static int create_node(char *name, char type, int major, int minor, int mode)
int retval = 0; int retval = 0;
strncpy(filename, UDEV_ROOT, sizeof(filename)); strncpy(filename, UDEV_ROOT, sizeof(filename));
strncat(filename, name, sizeof(filename)); strncat(filename, name, sizeof(filename));
if (type == 'b') { switch (type) {
mode |= S_IFBLK; case 'b':
} else if ((type == 'c') || (type == 'u')){ mode |= S_IFBLK;
mode |= S_IFCHR; break;
} else if ( type == 'p') { case 'c':
mode |= S_IFIFO; case 'u':
} else { mode |= S_IFCHR;
dbg("unknown node type %c\n", type); break;
return -1; case 'p':
} mode |= S_IFIFO;
break;
default:
dbg("unknown node type %c\n", type);
return -EINVAL;
}
retval = mknod(filename,mode,makedev(major,minor)); retval = mknod(filename,mode,makedev(major,minor));
if (retval)
dbg("mknod(%s, %#o, %u, %u) failed with error '%s'",
filename, mode, major, minor, strerror(errno));
return retval; return retval;
} }
struct sysfs_class_device *get_class_dev(char *device_name) struct sysfs_class_device *get_class_dev(char *device_name)

3
udev.h
View File

@ -40,9 +40,6 @@
/* Where udev should create its device nodes, trailing / needed */ /* Where udev should create its device nodes, trailing / needed */
#define UDEV_ROOT "/udev/" #define UDEV_ROOT "/udev/"
/* Binaries that udev calls to do stuff */
#define MKNOD "/bin/mknod"
extern int log_message (int level, const char *format, ...) extern int log_message (int level, const char *format, ...)
__attribute__ ((format (printf, 2, 3))); __attribute__ ((format (printf, 2, 3)));