]> granicus.if.org Git - vim/commitdiff
patch 8.2.0607: gcc warns for using uninitialized variable v8.2.0607
authorBram Moolenaar <Bram@vim.org>
Sun, 19 Apr 2020 20:57:44 +0000 (22:57 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 19 Apr 2020 20:57:44 +0000 (22:57 +0200)
Problem:    Gcc warns for using uninitialized variable. (John Marriott)
Solution:   Set name_end also for environment variables.

src/evalvars.c
src/version.c

index 12bd42fa663aa6319c8b5b1dd3bc78ce7b2aa0ac..b5075d59cc69e8d47309880a1f462730b589fbba 100644 (file)
@@ -1428,34 +1428,35 @@ 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,
-                                                  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)))
+       else
        {
-           if (name_end != NULL)
+           // 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)))
            {
-               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))
-               clear_lval(&lv);
-           break;
-       }
 
-       if (!error && !eap->skip
+           if (!error && !eap->skip
                         && callback(&lv, name_end, eap, deep, cookie) == FAIL)
-           error = TRUE;
+               error = TRUE;
 
-       if (!eap->skip)
-           clear_lval(&lv);
+           if (!eap->skip)
+               clear_lval(&lv);
+       }
 
        arg = skipwhite(name_end);
     } while (!ends_excmd2(name_end, arg));
index b95c7eeab819a9755299ea9ce2f98ff11ffdf6e9..f175ff3d2f420a6f9e6bbd4eb8d8ad11e553d26f 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    607,
 /**/
     606,
 /**/