chiark / gitweb /
[PATCH] cleanup the mknod code a bit.
authorgreg@kroah.com <greg@kroah.com>
Tue, 5 Aug 2003 04:59:50 +0000 (21:59 -0700)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 04:01:40 +0000 (21:01 -0700)
udev-add.c
udev.h

index adbeb92..10df314 100644 (file)
@@ -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)
diff --git a/udev.h b/udev.h
index 3c3c3d5..590a8ed 100644 (file)
--- a/udev.h
+++ b/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)));