diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-04-19 22:57:44 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-04-19 22:57:44 +0200 |
commit | 2bb76accc66d17f2c027c04396082c46f410bfea (patch) | |
tree | 1de90ec0594132e85be5810eb32a3d0fba536e69 /src/evalvars.c | |
parent | fbf2122cf920a89274ffbefaaeb6c5eeacf5187b (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.c | 43 |
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)); |