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
This commit is contained in:
parent
ba29f08008
commit
fb96235ea5
1 changed files with 33 additions and 0 deletions
33
package/busybox/patches/910-insmod-q-flag.patch
Normal file
33
package/busybox/patches/910-insmod-q-flag.patch
Normal 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);
|
||||
|
Loading…
Reference in a new issue