summaryrefslogtreecommitdiffstats
path: root/package/busybox
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-24 23:59:46 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-24 23:59:46 +0000
commit84909d08d3bcf6a1dcab23fff062057e69762448 (patch)
tree95ce0af2214a2c15d2c5df11cc76921fa00dff9d /package/busybox
parent1dc2db31a33723283805e325c9dcdde41d03bac1 (diff)
[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
Diffstat (limited to 'package/busybox')
-rw-r--r--package/busybox/patches/910-insmod-q-flag.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/package/busybox/patches/910-insmod-q-flag.patch b/package/busybox/patches/910-insmod-q-flag.patch
new file mode 100644
index 000000000..846b3df56
--- /dev/null
+++ b/package/busybox/patches/910-insmod-q-flag.patch
@@ -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);
+