瀏覽代碼

[patch] setenv(...) can delete environmentalvariables

update setenv() function so that entering a NULL value for the
variable's value will delete the environmental variable

Signed-off-by: Jeffrey Mann <mannj@embeddedplanet.com>
Acked-by: Stefan Roese <sr@denx.de>
Jeffrey Mann 18 年之前
父節點
當前提交
9ffd451afe
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      common/cmd_nvedit.c

+ 4 - 1
common/cmd_nvedit.c

@@ -391,7 +391,10 @@ int _do_setenv (int flag, int argc, char *argv[])
 void setenv (char *varname, char *varvalue)
 void setenv (char *varname, char *varvalue)
 {
 {
 	char *argv[4] = { "setenv", varname, varvalue, NULL };
 	char *argv[4] = { "setenv", varname, varvalue, NULL };
-	_do_setenv (0, 3, argv);
+	if (varvalue == NULL)
+		_do_setenv (0, 2, argv);
+	else
+		_do_setenv (0, 3, argv);
 }
 }
 
 
 int do_setenv ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 int do_setenv ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])