summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/dhcp.c16
1 files changed, 16 insertions, 0 deletions
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':