diff options
author | Denys Vlasenko | 2011-06-04 05:07:16 +0200 |
---|---|---|
committer | Denys Vlasenko | 2011-06-04 05:07:16 +0200 |
commit | 5d3aaceb790461dca3f770483bbccd161e78a728 (patch) | |
tree | 835a7db0c575f4c1e579af5f01914f8fd7a16b08 | |
parent | fe86d6b6361d07529288fa20aa5cab5472b64344 (diff) | |
download | busybox-5d3aaceb790461dca3f770483bbccd161e78a728.zip busybox-5d3aaceb790461dca3f770483bbccd161e78a728.tar.gz |
udhcpc: allow -O OPT take numeric params
function old new delta
udhcpc_main 2623 2654 +31
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | networking/udhcp/dhcpc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index 510c3a1..5d3291b 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c @@ -1134,8 +1134,11 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) client_config.no_default_options = 1; while (list_O) { char *optstr = llist_pop(&list_O); - unsigned n = udhcp_option_idx(optstr); - n = dhcp_optflags[n].code; + unsigned n = bb_strtou(optstr, NULL, 0); + if (errno || n > 254) { + n = udhcp_option_idx(optstr); + n = dhcp_optflags[n].code; + } client_config.opt_mask[n >> 3] |= 1 << (n & 7); } while (list_x) { |