diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-24 15:54:42 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-24 15:54:42 +0000 |
commit | 990d0f63eeb502c8762076e5c5499196e09cba55 (patch) | |
tree | 30a2091a8159b1694d65f9952e2aba2667d7dc11 /networking/arp.c | |
parent | bcb66ec22e82f6b1ab93f3aec917269393a5b464 (diff) | |
download | busybox-990d0f63eeb502c8762076e5c5499196e09cba55.tar.gz |
Replace index_in_[sub]str_array with index_in_[sub]strings,
which scans thru "abc\0def\0123\0\0" type strings. Saves 250 bytes.
text data bss dec hex filename
781266 1328 11844 794438 c1f46 busybox_old
781010 1328 11844 794182 c1e46 busybox_unstripped
Diffstat (limited to 'networking/arp.c')
-rw-r--r-- | networking/arp.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/networking/arp.c b/networking/arp.c index e529257a8..907433b4a 100644 --- a/networking/arp.c +++ b/networking/arp.c @@ -46,17 +46,15 @@ static int sockfd; /* active socket descriptor */ static smallint hw_set; /* flag if hw-type was set (-H) */ static const char *device = ""; /* current device */ -static const char *const options[] = { - "pub", - "priv", - "temp", - "trail", - "dontpub", - "auto", - "dev", - "netmask", - NULL -}; +static const char options[] = + "pub\0" + "priv\0" + "temp\0" + "trail\0" + "dontpub\0" + "auto\0" + "dev\0" + "netmask\0"; /* Delete an entry from the ARP cache. */ /* Called only from main, once */ @@ -85,7 +83,7 @@ static int arp_del(char **args) req.arp_flags = ATF_PERM; args++; while (*args != NULL) { - switch (index_in_str_array(options, *args)) { + switch (index_in_strings(options, *args)) { case 0: /* "pub" */ flags |= 1; args++; @@ -239,7 +237,7 @@ static int arp_set(char **args) /* Check out any modifiers. */ flags = ATF_PERM | ATF_COM; while (*args != NULL) { - switch (index_in_str_array(options, *args)) { + switch (index_in_strings(options, *args)) { case 0: /* "pub" */ flags |= ATF_PUBL; args++; |