udhcpc: allow -O OPT take numeric params
authorDenys Vlasenko <vda.linux@googlemail.com>
Sat, 4 Jun 2011 03:07:16 +0000 (05:07 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sat, 4 Jun 2011 03:07:16 +0000 (05:07 +0200)
function                                             old     new   delta
udhcpc_main                                         2623    2654     +31

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/udhcp/dhcpc.c

index 510c3a1d00c5d873408c4dd10b26144dce54a3d7..5d3291b8cd46328cbc1c85b737ffd0edd4f4bc2b 100644 (file)
@@ -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) {