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

SVN-Revision: 19851
owl
Jo-Philipp Wich 2010-02-24 23:59:46 +00:00
parent ba29f08008
commit fb96235ea5
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);