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>
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 @@
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) {