mdev: use option parser helper
authorJan Klötzke <jan@kloetzke.net>
Fri, 3 May 2019 20:35:51 +0000 (22:35 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 3 Jun 2019 11:00:47 +0000 (13:00 +0200)
function                                             old     new   delta
process_action                                         -    1051   +1051
mdev_main                                           1324     255   -1069
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 1051/-1069)        Total: -18 bytes

Signed-off-by: Jan Klötzke <jan@kloetzke.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
util-linux/mdev.c

index 8205a260ac6457f3610ae079655ea65ae6b08c26..e730548f7d08c1f6077effa806cd6bb79fd5aab6 100644 (file)
 #endif
 
 
+enum {
+       MDEV_OPT_SCAN       = 1 << 0,
+};
+
 static const char keywords[] ALIGN1 = "add\0remove\0"; // "change\0"
 enum { OP_add, OP_remove };
 
@@ -1047,7 +1051,7 @@ static void signal_mdevs(unsigned my_pid)
        }
 }
 
-static void process_action(char *temp, unsigned my_pid)
+static NOINLINE void process_action(char *temp, unsigned my_pid)
 {
        char *fw;
        char *seq;
@@ -1130,6 +1134,7 @@ static void initial_scan(char *temp)
 int mdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mdev_main(int argc UNUSED_PARAM, char **argv)
 {
+       int opt;
        RESERVE_CONFIG_BUFFER(temp, PATH_MAX + SCRATCH_SIZE);
 
        INIT_G();
@@ -1147,7 +1152,9 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
 
        xchdir("/dev");
 
-       if (argv[1] && strcmp(argv[1], "-s") == 0) {
+       opt = getopt32(argv, "s");
+
+       if (opt & MDEV_OPT_SCAN) {
                /*
                 * Scan: mdev -s
                 */