[git commit master 1/1] nameif: fix parsing of /proc/net/dev; small code shrink

Denys Vlasenko vda.linux at googlemail.com
Sun Mar 6 18:15:30 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=2adc0e6d8b146991063309238569a703af6bda8f
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
nameif_main                                          628     618     -10

Signed-off-by: Phil Sutter <phil.sutter at viprinet.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/nameif.c |   20 +++++++++-----------
 1 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/networking/nameif.c b/networking/nameif.c
index 6cf1c50..e9bff8b 100644
--- a/networking/nameif.c
+++ b/networking/nameif.c
@@ -133,7 +133,7 @@ void delete_eth_table(ethtable_t *ch);
 #endif
 
 int nameif_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int nameif_main(int argc, char **argv)
+int nameif_main(int argc UNUSED_PARAM, char **argv)
 {
 	ethtable_t *clist = NULL;
 	const char *fname = "/etc/mactab";
@@ -148,17 +148,15 @@ int nameif_main(int argc, char **argv)
 		 * can't hurt. 2>/dev/null if you don't like it: */
 		logmode |= LOGMODE_SYSLOG;
 	}
-	argc -= optind;
 	argv += optind;
 
-	if (argc & 1)
-		bb_show_usage();
-
-	if (argc) {
-		while (*argv) {
-			char *ifname = *argv++;
-			prepend_new_eth_table(&clist, ifname, *argv++);
-		}
+	if (argv[0]) {
+		do {
+			if (!argv[1])
+				bb_show_usage();
+			prepend_new_eth_table(&clist, argv[0], argv[1]);
+			argv += 2;
+		} while (*argv);
 	} else {
 		parser = config_open(fname);
 		while (config_read(parser, token, 2, 2, "# \t", PARSE_NORMAL))
@@ -174,7 +172,7 @@ int nameif_main(int argc, char **argv)
 #if  ENABLE_FEATURE_NAMEIF_EXTENDED
 		struct ethtool_drvinfo drvinfo;
 #endif
-		if (parser->lineno < 2)
+		if (parser->lineno <= 2)
 			continue; /* Skip the first two lines */
 
 		/* Find the current interface name and copy it to ifr.ifr_name */
-- 
1.7.3.4



More information about the busybox-cvs mailing list