mdev: tiny shrinkage by index_in_strings
No binary (build failed)
—
(log yok)
| @@ -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) | |