diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2009-10-26 23:27:04 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-27 17:12:26 +0100 |
commit | 6531f0923bc3c288291aa979a0e06daab964f008 (patch) | |
tree | be107a25d49bc056dacf459a44838ac787306937 | |
parent | b35e3a8612ae10391e3f72ba90a4ca9e7180a9d2 (diff) | |
download | busybox-6531f0923bc3c288291aa979a0e06daab964f008.tar.gz |
mdev: tiny shrinkage by index_in_strings
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>
-rw-r--r-- | util-linux/mdev.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/util-linux/mdev.c b/util-linux/mdev.c index 2ac15e762..d0aafac6e 100644 --- a/util-linux/mdev.c +++ b/util-linux/mdev.c @@ -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) |