summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Sutter2011-03-06 19:15:30 +0100
committerDenys Vlasenko2011-03-06 19:15:30 +0100
commit2adc0e6d8b146991063309238569a703af6bda8f (patch)
tree732582cfd34d42782fd5f35c599ca4452250b674
parentbd74e3d8beb0fedc4c1fdd9469a9de3f1f04c7b5 (diff)
downloadbusybox-2adc0e6d8b146991063309238569a703af6bda8f.zip
busybox-2adc0e6d8b146991063309238569a703af6bda8f.tar.gz
nameif: fix parsing of /proc/net/dev; small code shrink
function old new delta nameif_main 628 618 -10 Signed-off-by: Phil Sutter <phil.sutter@viprinet.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--networking/nameif.c20
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 */