[package] busybox: implement -q flag for insmod for Linux 2.6 and

actually suppress errors when the flag is specified, part 2 of the
iptables modprobe fix


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19851 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Jo-Philipp Wich 2010-02-24 23:59:46 +00:00
parent 6c48ebd0a4
commit 7e0ce09e8d
1 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
--- a/modutils/insmod.c
+++ b/modutils/insmod.c
@@ -107,7 +107,7 @@ int insmod_main(int argc, char **argv) M
int insmod_main(int argc UNUSED_PARAM, char **argv)
{
char *filename;
- int rc;
+ int rc, opt;
/* Compat note:
* 2.6 style insmod has no options and required filename
@@ -117,10 +117,8 @@ int insmod_main(int argc UNUSED_PARAM, c
* or in $MODPATH.
*/
- IF_FEATURE_2_4_MODULES(
- getopt32(argv, INSMOD_OPTS INSMOD_ARGS);
- argv += optind - 1;
- );
+ opt = getopt32(argv, INSMOD_OPTS, NULL, NULL);
+ argv += optind - 1;
filename = *++argv;
if (!filename)
@@ -131,7 +129,7 @@ int insmod_main(int argc UNUSED_PARAM, c
goto done;
rc = bb_init_module(g_filename, parse_cmdline_module_options(argv));
- if (rc)
+ if (rc && !(opt & INSMOD_OPT_SILENT))
bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
free (g_filename);