diff options
-rw-r--r-- | util-linux/mdev.c | 11 |
1 files 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 @@ | |||
249 | #endif | 249 | #endif |
250 | 250 | ||
251 | 251 | ||
252 | enum { | ||
253 | MDEV_OPT_SCAN = 1 << 0, | ||
254 | }; | ||
255 | |||
252 | static const char keywords[] ALIGN1 = "add\0remove\0"; // "change\0" | 256 | static const char keywords[] ALIGN1 = "add\0remove\0"; // "change\0" |
253 | enum { OP_add, OP_remove }; | 257 | enum { OP_add, OP_remove }; |
254 | 258 | ||
@@ -1047,7 +1051,7 @@ static void signal_mdevs(unsigned my_pid) | |||
1047 | } | 1051 | } |
1048 | } | 1052 | } |
1049 | 1053 | ||
1050 | static void process_action(char *temp, unsigned my_pid) | 1054 | static NOINLINE void process_action(char *temp, unsigned my_pid) |
1051 | { | 1055 | { |
1052 | char *fw; | 1056 | char *fw; |
1053 | char *seq; | 1057 | char *seq; |
@@ -1130,6 +1134,7 @@ static void initial_scan(char *temp) | |||
1130 | int mdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 1134 | int mdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
1131 | int mdev_main(int argc UNUSED_PARAM, char **argv) | 1135 | int mdev_main(int argc UNUSED_PARAM, char **argv) |
1132 | { | 1136 | { |
1137 | int opt; | ||
1133 | RESERVE_CONFIG_BUFFER(temp, PATH_MAX + SCRATCH_SIZE); | 1138 | RESERVE_CONFIG_BUFFER(temp, PATH_MAX + SCRATCH_SIZE); |
1134 | 1139 | ||
1135 | INIT_G(); | 1140 | INIT_G(); |
@@ -1147,7 +1152,9 @@ int mdev_main(int argc UNUSED_PARAM, char **argv) | |||
1147 | 1152 | ||
1148 | xchdir("/dev"); | 1153 | xchdir("/dev"); |
1149 | 1154 | ||
1150 | if (argv[1] && strcmp(argv[1], "-s") == 0) { | 1155 | opt = getopt32(argv, "s"); |
1156 | |||
1157 | if (opt & MDEV_OPT_SCAN) { | ||
1151 | /* | 1158 | /* |
1152 | * Scan: mdev -s | 1159 | * Scan: mdev -s |
1153 | */ | 1160 | */ |