From b0fa8e50632a628766db23f5c884ec63f1469552 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Sun, 25 Oct 2009 15:12:55 -0500 Subject: [PATCH] setenv(): Delete 0-length environment variables Previously setenv() would only delete an environment variable if it was passed a NULL string pointer as a value. It should also delete an environment variable when it encounters a valid string pointer of 0-length. This change/fix is generally useful and is necessary for the upcoming "editenv" command. Signed-off-by: Peter Tyser --- common/cmd_nvedit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index 9f8d53195..725e573dd 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -400,7 +400,7 @@ int _do_setenv (int flag, int argc, char *argv[]) int setenv (char *varname, char *varvalue) { char *argv[4] = { "setenv", varname, varvalue, NULL }; - if (varvalue == NULL) + if ((varvalue == NULL) || (varvalue[0] == '\0')) return _do_setenv (0, 2, argv); else return _do_setenv (0, 3, argv);