diff options
Diffstat (limited to 'modutils/modutils.c')
-rw-r--r-- | modutils/modutils.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/modutils/modutils.c b/modutils/modutils.c index 6187ca72f..ff79d3fac 100644 --- a/modutils/modutils.c +++ b/modutils/modutils.c | |||
@@ -48,13 +48,17 @@ int FAST_FUNC string_to_llist(char *string, llist_t **llist, const char *delim) | |||
48 | char* FAST_FUNC filename2modname(const char *filename, char *modname) | 48 | char* FAST_FUNC filename2modname(const char *filename, char *modname) |
49 | { | 49 | { |
50 | int i; | 50 | int i; |
51 | char *from; | 51 | const char *from; |
52 | 52 | ||
53 | if (filename == NULL) | 53 | if (filename == NULL) |
54 | return NULL; | 54 | return NULL; |
55 | if (modname == NULL) | 55 | if (modname == NULL) |
56 | modname = xmalloc(MODULE_NAME_LEN); | 56 | modname = xmalloc(MODULE_NAME_LEN); |
57 | from = bb_get_last_path_component_nostrip(filename); | 57 | // Disabled since otherwise "modprobe dir/name" would work |
58 | // as if it is "modprobe name". It is unclear why | ||
59 | // 'basenamization' was here in the first place. | ||
60 | //from = bb_get_last_path_component_nostrip(filename); | ||
61 | from = filename; | ||
58 | for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++) | 62 | for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++) |
59 | modname[i] = (from[i] == '-') ? '_' : from[i]; | 63 | modname[i] = (from[i] == '-') ? '_' : from[i]; |
60 | modname[i] = '\0'; | 64 | modname[i] = '\0'; |