From: Peter Tyser Date: Sun, 25 Oct 2009 20:12:55 +0000 (-0500) Subject: setenv(): Delete 0-length environment variables X-Git-Tag: v2009.11-rc1~2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b0fa8e50632a628766db23f5c884ec63f1469552;p=u-boot 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 --- diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index 9f8d531959..725e573ddf 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);