mdev: make usage text more useful
authorDenis Vlasenko <vda.linux@googlemail.com>
Mon, 13 Apr 2009 13:33:02 +0000 (13:33 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Mon, 13 Apr 2009 13:33:02 +0000 (13:33 -0000)
function                                             old     new   delta
packed_usage                                       26235   26291     +56

include/usage.h
util-linux/mdev.c

index c36a3bbd74012cd6a38e3c7d67c4a5ed4c8962dc..7111e90bc1501646cfdd49c9169f3e2cba28f900 100644 (file)
 #define mdev_full_usage "\n\n" \
        "       -s      Scan /sys and populate /dev during system boot\n" \
        "\n" \
-       "Called with no options (via hotplug) it uses environment variables\n" \
-       "to determine which device to add/remove."
+       "It can be run by kernel as a hotplug helper. To activate it:\n" \
+       " echo /bin/mdev >/proc/sys/kernel/hotplug\n" \
+       USE_FEATURE_MDEV_CONF( \
+       "It uses /etc/mdev.conf with lines\n" \
+       "DEVNAME UID:GID PERM" \
+                       USE_FEATURE_MDEV_RENAME(" [>|=PATH]") \
+                       USE_FEATURE_MDEV_EXEC(" [@|$|*COMMAND]") \
+       ) \
 
 #define mdev_notes_usage "" \
        USE_FEATURE_MDEV_CONFIG( \
index 6eaa66bf4ea684fc8a52c6701eab2d0b8643ea36..584df7df2c03c37f24556ae549fc290487de62fb 100644 (file)
@@ -62,13 +62,13 @@ static void make_device(char *path, int delete)
        struct bb_uidgid_t ugid = { 0, 0 };
        parser_t *parser;
        char *tokens[5];
-#endif
-#if ENABLE_FEATURE_MDEV_EXEC
+# if ENABLE_FEATURE_MDEV_EXEC
        char *command = NULL;
-#endif
-#if ENABLE_FEATURE_MDEV_RENAME
+# endif
+# if ENABLE_FEATURE_MDEV_RENAME
        char *alias = NULL;
        char aliaslink = aliaslink; /* for compiler */
+# endif
 #endif
        char *dev_maj_min = path + strlen(path);
 
@@ -168,21 +168,21 @@ static void make_device(char *path, int delete)
 
                val = tokens[3];
                /* 4th field (opt): >alias */
-#if ENABLE_FEATURE_MDEV_RENAME
+# if ENABLE_FEATURE_MDEV_RENAME
                if (!val)
                        break;
                aliaslink = *val;
                if (aliaslink == '>' || aliaslink == '=') {
                        char *s;
-#if ENABLE_FEATURE_MDEV_RENAME_REGEXP
+#  if ENABLE_FEATURE_MDEV_RENAME_REGEXP
                        char *p;
                        unsigned i, n;
-#endif
+#  endif
                        char *a = val;
                        s = strchrnul(val, ' ');
                        val = (s[0] && s[1]) ? s+1 : NULL;
                        s[0] = '\0';
-#if ENABLE_FEATURE_MDEV_RENAME_REGEXP
+#  if ENABLE_FEATURE_MDEV_RENAME_REGEXP
                        /* substitute %1..9 with off[1..9], if any */
                        n = 0;
                        s = a;
@@ -206,13 +206,13 @@ static void make_device(char *path, int delete)
                                p++;
                                s++;
                        }
-#else
+#  else
                        alias = xstrdup(a + 1);
-#endif
+#  endif
                }
-#endif /* ENABLE_FEATURE_MDEV_RENAME */
+# endif /* ENABLE_FEATURE_MDEV_RENAME */
 
-#if ENABLE_FEATURE_MDEV_EXEC
+# if ENABLE_FEATURE_MDEV_EXEC
                /* The rest (opt): command to run */
                if (!val)
                        break;
@@ -233,7 +233,7 @@ static void make_device(char *path, int delete)
                                command = xstrdup(val + 1);
                        }
                }
-#endif
+# endif
                /* end of field parsing */
                break; /* we found matching line, stop */
        } /* end of "while line is read from /etc/mdev.conf" */
@@ -255,7 +255,7 @@ static void make_device(char *path, int delete)
 #if ENABLE_FEATURE_MDEV_CONF
                chown(device_name, ugid.uid, ugid.gid);
 
-#if ENABLE_FEATURE_MDEV_RENAME
+# if ENABLE_FEATURE_MDEV_RENAME
                if (alias) {
                        alias = build_alias(alias, device_name);
 
@@ -266,7 +266,7 @@ static void make_device(char *path, int delete)
 
                        free(alias);
                }
-#endif
+# endif
 #endif
        }
 
@@ -406,7 +406,7 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
 
        xchdir("/dev");
 
-       if (argv[1] && !strcmp(argv[1], "-s")) {
+       if (argv[1] && strcmp(argv[1], "-s") == 0) {
                /* Scan:
                 * mdev -s
                 */
@@ -501,5 +501,5 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
        if (ENABLE_FEATURE_CLEAN_UP)
                RELEASE_CONFIG_BUFFER(temp);
 
-       return 0;
+       return EXIT_SUCCESS;
 }