modprobe: fix "modprobe -l name-with-dash"
authorDenys Vlasenko <vda.linux@googlemail.com>
Tue, 15 Feb 2011 01:17:31 +0000 (02:17 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Tue, 15 Feb 2011 01:17:31 +0000 (02:17 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
modutils/modprobe.c

index 0d28da7ea695acefde42f4219a98ab1e443ff932..7ae4598267508987f423a4d386120c5e45e2fe30 100644 (file)
@@ -530,10 +530,14 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv)
        xchdir(G.uts.release);
 
        if (opt & OPT_LIST_ONLY) {
+               int i;
                char name[MODULE_NAME_LEN];
                char *colon, *tokens[2];
                parser_t *p = config_open2(CONFIG_DEFAULT_DEPMOD_FILE, xfopen_for_read);
 
+               for (i = 0; argv[i]; i++)
+                       replace(argv[i], '-', '_');
+
                while (config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) {
                        colon = last_char_is(tokens[0], ':');
                        if (!colon)
@@ -543,7 +547,6 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv)
                        if (!argv[0])
                                puts(tokens[0]);
                        else {
-                               int i;
                                for (i = 0; argv[i]; i++) {
                                        if (fnmatch(argv[i], name, 0) == 0) {
                                                puts(tokens[0]);