modprobe: revert checking for /, stop doing basename() on modprobe args
function old new delta
process_module 726 719 -7
filename2modname 81 67 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-21) Total: -21 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c
index b7990bf..dafe91e 100644
--- a/modutils/modprobe-small.c
+++ b/modutils/modprobe-small.c
@@ -149,9 +149,13 @@
static char *filename2modname(const char *filename, char *modname)
{
int i;
- char *from;
+ const char *from;
- from = bb_get_last_path_component_nostrip(filename);
+ // Disabled since otherwise "modprobe dir/name" would work
+ // as if it is "modprobe name". It is unclear why
+ // 'basenamization' was here in the first place.
+ //from = bb_get_last_path_component_nostrip(filename);
+ from = filename;
for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++)
modname[i] = (from[i] == '-') ? '_' : from[i];
modname[i] = '\0';