Ответ: Ответ: MODPROBE: next generation

Denys Vlasenko vda.linux at googlemail.com
Sun Jul 6 11:48:41 UTC 2008


On Sunday 06 July 2008 13:31, Vladimir Dronnikov wrote:
> Exactly. And the use of fnmatch() is definitely required, or we loose
> many modules, particularly PCI.

Like this?

                /* "modname alias1 symbol:sym1 alias2 symbol:sym2 " */
                desc = xstrdup(modinfo[i].desc);
                /* Does matching substring exist? */
                replace(desc, ' ', '\0');
                for (s = desc; *s; s += strlen(s) + 1) {
                        /* aliases in module bodies can be defined with
                         * shell patterns. Example:
                         * "pci:v000010DEd000000D9sv*sd*bc*sc*i*".
                         * Plain strcmp() won't catch that */
                        if (fnmatch(s, alias, 0) == 0) {
                                free(desc);
                                dbg1_error_msg("found alias '%s' in module '%s'",
                                                alias, modinfo[i].pathname);
                                return &modinfo[i];
                        }
                }
--
vda



More information about the busybox mailing list