From af387f080f8f74931a9ca0b36192e624a2c2fbd1 Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Fri, 30 Mar 2012 11:40:20 +0800 Subject: net: dhcp: reset env variable before do a dhcp request Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD --- net/dhcp.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'net/dhcp.c') diff --git a/net/dhcp.c b/net/dhcp.c index 750d87958c..9168221a9e 100644 --- a/net/dhcp.c +++ b/net/dhcp.c @@ -513,11 +513,27 @@ static void dhcp_handler(void *ctx, char *packet, unsigned int len) } } +static void dhcp_reset_env(void) +{ + struct dhcp_opt *opt; + int i; + + for (i = 0; i < ARRAY_SIZE(dhcp_options); i++) { + opt = &dhcp_options[i]; + if (!opt->barebox_var_name) + continue; + + setenv(opt->barebox_var_name,""); + } +} + static int do_dhcp(int argc, char *argv[]) { int ret, opt; char *vendor_id = (char*)getenv("dhcp_vendor_id"); + dhcp_reset_env(); + while((opt = getopt(argc, argv, "v:")) > 0) { switch(opt) { case 'v': -- cgit v1.2.3