34 lines
		
	
	
		
			896 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			896 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/modutils/insmod.c
 | 
						|
+++ b/modutils/insmod.c
 | 
						|
@@ -139,7 +139,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
 | 
						|
@@ -149,10 +149,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)
 | 
						|
@@ -163,7 +161,7 @@ int insmod_main(int argc UNUSED_PARAM, c
 | 
						|
 		goto done;
 | 
						|
 
 | 
						|
 	rc = bb_init_module(g_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
 | 
						|
-	if (rc)
 | 
						|
+	if (rc && !(opt & INSMOD_OPT_SILENT))
 | 
						|
 		bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
 | 
						|
 	free (g_filename);
 | 
						|
 
 |