summaryrefslogtreecommitdiffstats
path: root/src/evalvars.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-04-19 22:57:44 +0200
committerBram Moolenaar <Bram@vim.org>2020-04-19 22:57:44 +0200
commit2bb76accc66d17f2c027c04396082c46f410bfea (patch)
tree1de90ec0594132e85be5810eb32a3d0fba536e69 /src/evalvars.c
parentfbf2122cf920a89274ffbefaaeb6c5eeacf5187b (diff)
patch 8.2.0607: gcc warns for using uninitialized variablev8.2.0607
Problem: Gcc warns for using uninitialized variable. (John Marriott) Solution: Set name_end also for environment variables.
Diffstat (limited to 'src/evalvars.c')
-rw-r--r--src/evalvars.c43
1 files changed, 22 insertions, 21 deletions
diff --git a/src/evalvars.c b/src/evalvars.c
index 12bd42fa66..b5075d59cc 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -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));