diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-02 13:04:19 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-02 13:04:19 +0000 |
commit | 2e4c3c4cc3c2f6bdd3bfbafe9980f46b24971009 (patch) | |
tree | e7e729631b8b8150cb25349534ae16c2d7f12562 /networking/udhcp/dhcpc.c | |
parent | 0edbdd8ac8c0add7902d73a7ef921abba9f5752a (diff) | |
download | busybox-w32-2e4c3c4cc3c2f6bdd3bfbafe9980f46b24971009.tar.gz busybox-w32-2e4c3c4cc3c2f6bdd3bfbafe9980f46b24971009.tar.bz2 busybox-w32-2e4c3c4cc3c2f6bdd3bfbafe9980f46b24971009.zip |
udhcpc: add -o "do not request options by default" switch
(by L. Gabriel Somlo <somlo AT cmu.edu>)
function old new delta
udhcpc_main 2513 2554 +41
static.udhcpc_longopts 226 247 +21
add_param_req_option 119 132 +13
packed_usage 23952 23964 +12
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 87/0) Total: 87 bytes
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r-- | networking/udhcp/dhcpc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index bc0676152..fb328cb03 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c | |||
@@ -182,6 +182,7 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
182 | OPT_W = 1 << 21, | 182 | OPT_W = 1 << 21, |
183 | #endif | 183 | #endif |
184 | OPT_P = 1 << 22, | 184 | OPT_P = 1 << 22, |
185 | OPT_o = 1 << 23, | ||
185 | }; | 186 | }; |
186 | #if ENABLE_GETOPT_LONG | 187 | #if ENABLE_GETOPT_LONG |
187 | static const char udhcpc_longopts[] ALIGN1 = | 188 | static const char udhcpc_longopts[] ALIGN1 = |
@@ -211,6 +212,7 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
211 | #if ENABLE_FEATURE_UDHCP_PORT | 212 | #if ENABLE_FEATURE_UDHCP_PORT |
212 | "client-port\0" Required_argument "P" | 213 | "client-port\0" Required_argument "P" |
213 | #endif | 214 | #endif |
215 | "no-default-options\0" No_argument "o" | ||
214 | ; | 216 | ; |
215 | #endif | 217 | #endif |
216 | /* Default options. */ | 218 | /* Default options. */ |
@@ -230,7 +232,7 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
230 | opt = getopt32(argv, "c:CV:fbH:h:F:i:np:qRr:s:T:t:vSA:" | 232 | opt = getopt32(argv, "c:CV:fbH:h:F:i:np:qRr:s:T:t:vSA:" |
231 | USE_FEATURE_UDHCPC_ARPING("aW:") | 233 | USE_FEATURE_UDHCPC_ARPING("aW:") |
232 | USE_FEATURE_UDHCP_PORT("P:") | 234 | USE_FEATURE_UDHCP_PORT("P:") |
233 | "O:" | 235 | "O:o" |
234 | , &str_c, &str_V, &str_h, &str_h, &str_F | 236 | , &str_c, &str_V, &str_h, &str_h, &str_F |
235 | , &client_config.interface, &client_config.pidfile, &str_r | 237 | , &client_config.interface, &client_config.pidfile, &str_r |
236 | , &client_config.script | 238 | , &client_config.script |
@@ -291,6 +293,8 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
291 | SERVER_PORT = CLIENT_PORT - 1; | 293 | SERVER_PORT = CLIENT_PORT - 1; |
292 | } | 294 | } |
293 | #endif | 295 | #endif |
296 | if (opt & OPT_o) | ||
297 | client_config.no_default_options = 1; | ||
294 | while (list_O) { | 298 | while (list_O) { |
295 | int n = index_in_strings(dhcp_option_strings, list_O->data); | 299 | int n = index_in_strings(dhcp_option_strings, list_O->data); |
296 | if (n < 0) | 300 | if (n < 0) |