diff options
author | Phil Sutter <phil.sutter@viprinet.com> | 2011-03-06 19:15:30 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2011-03-06 19:15:30 +0100 |
commit | 2adc0e6d8b146991063309238569a703af6bda8f (patch) | |
tree | 732582cfd34d42782fd5f35c599ca4452250b674 | |
parent | bd74e3d8beb0fedc4c1fdd9469a9de3f1f04c7b5 (diff) |
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.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/networking/nameif.c b/networking/nameif.c index 6cf1c50c2..e9bff8b11 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 */ |