aboutsummaryrefslogtreecommitdiff
path: root/modutils/modprobe-small.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-07-06 11:52:23 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-07-06 11:52:23 +0000
commit58f59a25ee82dea19aeee082f52846244929a95e (patch)
tree25dfe73eddd983260136dea4b046f3b8f13ba725 /modutils/modprobe-small.c
parentcee0dfcc6a157f54cb517fdc3c438c7e0f67ebc9 (diff)
downloadbusybox-w32-58f59a25ee82dea19aeee082f52846244929a95e.tar.gz
busybox-w32-58f59a25ee82dea19aeee082f52846244929a95e.tar.bz2
busybox-w32-58f59a25ee82dea19aeee082f52846244929a95e.zip
modprobe-small: match aliases with fnmatch(), making
shell pattern-specified alias names in module bodies work.
Diffstat (limited to 'modutils/modprobe-small.c')
-rw-r--r--modutils/modprobe-small.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c
index 3aa06d57e..e82ee4cef 100644
--- a/modutils/modprobe-small.c
+++ b/modutils/modprobe-small.c
@@ -385,7 +385,11 @@ static module_info* find_alias(const char *alias)
385 /* Does matching substring exist? */ 385 /* Does matching substring exist? */
386 replace(desc, ' ', '\0'); 386 replace(desc, ' ', '\0');
387 for (s = desc; *s; s += strlen(s) + 1) { 387 for (s = desc; *s; s += strlen(s) + 1) {
388 if (strcmp(s, alias) == 0) { 388 /* aliases in module bodies can be defined with
389 * shell patterns. Example:
390 * "pci:v000010DEd000000D9sv*sd*bc*sc*i*".
391 * Plain strcmp() won't catch that */
392 if (fnmatch(s, alias, 0) == 0) {
389 free(desc); 393 free(desc);
390 dbg1_error_msg("found alias '%s' in module '%s'", 394 dbg1_error_msg("found alias '%s' in module '%s'",
391 alias, modinfo[i].pathname); 395 alias, modinfo[i].pathname);