[git commit] mdev: use option parser helper

Denys Vlasenko vda.linux at googlemail.com
Mon Jun 3 11:00:47 UTC 2019


commit: https://git.busybox.net/busybox/commit/?id=728e53d38887c268b3557afadfc38472fa4f0cd6
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

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 at kloetzke.net>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 util-linux/mdev.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/util-linux/mdev.c b/util-linux/mdev.c
index 8205a260a..e730548f7 100644
--- a/util-linux/mdev.c
+++ b/util-linux/mdev.c
@@ -249,6 +249,10 @@
 #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
 		 */


More information about the busybox-cvs mailing list