mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-23 17:34:00 +03:00
[PATCH] cleanup the mknod code a bit.
This commit is contained in:
parent
0abf54fc09
commit
1331c889c3
29
udev-add.c
29
udev-add.c
@ -78,20 +78,27 @@ static int create_node(char *name, char type, int major, int minor, int mode)
|
||||
int retval = 0;
|
||||
strncpy(filename, UDEV_ROOT, sizeof(filename));
|
||||
strncat(filename, name, sizeof(filename));
|
||||
if (type == 'b') {
|
||||
mode |= S_IFBLK;
|
||||
} else if ((type == 'c') || (type == 'u')){
|
||||
mode |= S_IFCHR;
|
||||
} else if ( type == 'p') {
|
||||
mode |= S_IFIFO;
|
||||
} else {
|
||||
dbg("unknown node type %c\n", type);
|
||||
return -1;
|
||||
}
|
||||
switch (type) {
|
||||
case 'b':
|
||||
mode |= S_IFBLK;
|
||||
break;
|
||||
case 'c':
|
||||
case 'u':
|
||||
mode |= S_IFCHR;
|
||||
break;
|
||||
case 'p':
|
||||
mode |= S_IFIFO;
|
||||
break;
|
||||
default:
|
||||
dbg("unknown node type %c\n", type);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
struct sysfs_class_device *get_class_dev(char *device_name)
|
||||
|
3
udev.h
3
udev.h
@ -40,9 +40,6 @@
|
||||
/* Where udev should create its device nodes, trailing / needed */
|
||||
#define UDEV_ROOT "/udev/"
|
||||
|
||||
/* Binaries that udev calls to do stuff */
|
||||
#define MKNOD "/bin/mknod"
|
||||
|
||||
extern int log_message (int level, const char *format, ...)
|
||||
__attribute__ ((format (printf, 2, 3)));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user