mdev: tiny shrinkage by index_in_strings
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 26 Oct 2009 22:27:04 +0000 (23:27 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Tue, 27 Oct 2009 16:12:26 +0000 (17:12 +0100)
text    data     bss     dec     hex filename
      2633       0       0    2633     a49 util-linux/mdev.o.old
      2624       0       0    2624     a40 util-linux/mdev.o

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
util-linux/mdev.c

index 2ac15e762f23282b4e26aa483f38aff97a450611..d0aafac6e65674bb6fd8dcebc65459c1f2550b7e 100644 (file)
@@ -526,6 +526,9 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
                char *seq;
                char *action;
                char *env_path;
+               static const char keywords[] ALIGN1 = "remove\0add\0";
+               enum { OP_remove = 0, OP_add };
+               smalluint op;
 
                /* Hotplug:
                 * env ACTION=... DEVPATH=... SUBSYSTEM=... [SEQNUM=...] mdev
@@ -538,7 +541,7 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
                if (!action || !env_path /*|| !subsystem*/)
                        bb_show_usage();
                fw = getenv("FIRMWARE");
-
+               op = index_in_strings(keywords, action);
                /* If it exists, does /dev/mdev.seq match $SEQNUM?
                 * If it does not match, earlier mdev is running
                 * in parallel, and we need to wait */
@@ -565,14 +568,14 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
                }
 
                snprintf(temp, PATH_MAX, "/sys%s", env_path);
-               if (strcmp(action, "remove") == 0) {
+               if (op == OP_remove) {
                        /* Ignoring "remove firmware". It was reported
                         * to happen and to cause erroneous deletion
                         * of device nodes. */
                        if (!fw)
                                make_device(temp, 1);
                }
-               else if (strcmp(action, "add") == 0) {
+               else if (op == OP_add) {
                        make_device(temp, 0);
                        if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) {
                                if (fw)