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) | |
download | busybox-w32-2adc0e6d8b146991063309238569a703af6bda8f.tar.gz busybox-w32-2adc0e6d8b146991063309238569a703af6bda8f.tar.bz2 busybox-w32-2adc0e6d8b146991063309238569a703af6bda8f.zip |
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); | |||
133 | #endif | 133 | #endif |
134 | 134 | ||
135 | int nameif_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 135 | int nameif_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
136 | int nameif_main(int argc, char **argv) | 136 | int nameif_main(int argc UNUSED_PARAM, char **argv) |
137 | { | 137 | { |
138 | ethtable_t *clist = NULL; | 138 | ethtable_t *clist = NULL; |
139 | const char *fname = "/etc/mactab"; | 139 | const char *fname = "/etc/mactab"; |
@@ -148,17 +148,15 @@ int nameif_main(int argc, char **argv) | |||
148 | * can't hurt. 2>/dev/null if you don't like it: */ | 148 | * can't hurt. 2>/dev/null if you don't like it: */ |
149 | logmode |= LOGMODE_SYSLOG; | 149 | logmode |= LOGMODE_SYSLOG; |
150 | } | 150 | } |
151 | argc -= optind; | ||
152 | argv += optind; | 151 | argv += optind; |
153 | 152 | ||
154 | if (argc & 1) | 153 | if (argv[0]) { |
155 | bb_show_usage(); | 154 | do { |
156 | 155 | if (!argv[1]) | |
157 | if (argc) { | 156 | bb_show_usage(); |
158 | while (*argv) { | 157 | prepend_new_eth_table(&clist, argv[0], argv[1]); |
159 | char *ifname = *argv++; | 158 | argv += 2; |
160 | prepend_new_eth_table(&clist, ifname, *argv++); | 159 | } while (*argv); |
161 | } | ||
162 | } else { | 160 | } else { |
163 | parser = config_open(fname); | 161 | parser = config_open(fname); |
164 | while (config_read(parser, token, 2, 2, "# \t", PARSE_NORMAL)) | 162 | while (config_read(parser, token, 2, 2, "# \t", PARSE_NORMAL)) |
@@ -174,7 +172,7 @@ int nameif_main(int argc, char **argv) | |||
174 | #if ENABLE_FEATURE_NAMEIF_EXTENDED | 172 | #if ENABLE_FEATURE_NAMEIF_EXTENDED |
175 | struct ethtool_drvinfo drvinfo; | 173 | struct ethtool_drvinfo drvinfo; |
176 | #endif | 174 | #endif |
177 | if (parser->lineno < 2) | 175 | if (parser->lineno <= 2) |
178 | continue; /* Skip the first two lines */ | 176 | continue; /* Skip the first two lines */ |
179 | 177 | ||
180 | /* Find the current interface name and copy it to ifr.ifr_name */ | 178 | /* Find the current interface name and copy it to ifr.ifr_name */ |