changeset 20103:fda7bed83eb6 v8.2.0607

patch 8.2.0607: gcc warns for using uninitialized variable Commit: https://github.com/vim/vim/commit/2bb76accc66d17f2c027c04396082c46f410bfea Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 19 22:57:44 2020 +0200 patch 8.2.0607: gcc warns for using uninitialized variable Problem: Gcc warns for using uninitialized variable. (John Marriott) Solution: Set name_end also for environment variables.
author Bram Moolenaar <Bram@vim.org>
date Sun, 19 Apr 2020 23:00:03 +0200
parents c7b95b2427fb
children b832a572e1c8
files src/evalvars.c src/version.c
diffstat 2 files changed, 25 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1428,35 +1428,36 @@ ex_unletlock(
 	    if (!error && !eap->skip
 			      && callback(&lv, arg, eap, deep, cookie) == FAIL)
 		error = TRUE;
-	    arg = skipwhite(arg);
-	    continue;
+	    name_end = arg;
 	}
-
-	// Parse the name and find the end.
-	name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error,
+	else
+	{
+	    // Parse the name and find the end.
+	    name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error,
 						   glv_flags, FNE_CHECK_START);
-	if (lv.ll_name == NULL)
-	    error = TRUE;	    // error but continue parsing
-	if (name_end == NULL || (!VIM_ISWHITE(*name_end)
-						   && !ends_excmd(*name_end)))
-	{
-	    if (name_end != NULL)
+	    if (lv.ll_name == NULL)
+		error = TRUE;	    // error but continue parsing
+	    if (name_end == NULL || (!VIM_ISWHITE(*name_end)
+						    && !ends_excmd(*name_end)))
 	    {
-		emsg_severe = TRUE;
-		emsg(_(e_trailing));
+		if (name_end != NULL)
+		{
+		    emsg_severe = TRUE;
+		    emsg(_(e_trailing));
+		}
+		if (!(eap->skip || error))
+		    clear_lval(&lv);
+		break;
 	    }
-	    if (!(eap->skip || error))
+
+	    if (!error && !eap->skip
+			 && callback(&lv, name_end, eap, deep, cookie) == FAIL)
+		error = TRUE;
+
+	    if (!eap->skip)
 		clear_lval(&lv);
-	    break;
 	}
 
-	if (!error && !eap->skip
-			 && callback(&lv, name_end, eap, deep, cookie) == FAIL)
-	    error = TRUE;
-
-	if (!eap->skip)
-	    clear_lval(&lv);
-
 	arg = skipwhite(name_end);
     } while (!ends_excmd2(name_end, arg));
 
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    607,
+/**/
     606,
 /**/
     605,