Mercurial > vim
changeset 30053:f5cbf8a4043d v9.0.0364
patch 9.0.0364: clang static analyzer gives warnings
Commit: https://github.com/vim/vim/commit/c99e182e1fb54e39540d25d0ccd8dcdde25bb96c
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sat Sep 3 10:52:24 2022 +0100
patch 9.0.0364: clang static analyzer gives warnings
Problem: Clang static analyzer gives warnings.
Solution: Avoid the warnings. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/11043)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 03 Sep 2022 12:00:05 +0200 |
parents | 9577d585ab58 |
children | de1d42b33f08 |
files | src/evalvars.c src/float.c src/highlight.c src/mbyte.c src/ops.c src/tag.c src/version.c src/vim9compile.c |
diffstat | 8 files changed, 15 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/evalvars.c +++ b/src/evalvars.c @@ -1089,7 +1089,6 @@ ex_let(exarg_T *eap) { // +=, /=, etc. require an existing variable semsg(_(e_cannot_use_operator_on_new_variable), eap->arg); - i = FAIL; } else if (vim_strchr((char_u *)"+-*/%.", *expr) != NULL) { @@ -1112,7 +1111,6 @@ ex_let(exarg_T *eap) vim_strncpy(op, expr - len, len); semsg(_(e_white_space_required_before_and_after_str_at_str), op, argend); - i = FAIL; } if (eap->skip)
--- a/src/float.c +++ b/src/float.c @@ -54,12 +54,11 @@ string2float( if (skip_quotes && vim_strchr((char_u *)s, '\'') != NULL) { char_u buf[100]; - char_u *p = buf; + char_u *p; int quotes = 0; vim_strncpy(buf, (char_u *)s, 99); - p = buf; - for (;;) + for (p = buf; ; p = skipdigits(p)) { // remove single quotes between digits, not in the exponent if (*p == '\'') @@ -69,7 +68,6 @@ string2float( } if (!vim_isdigit(*p)) break; - p = skipdigits(p); } s = (char *)buf; f = strtod(s, &s);
--- a/src/highlight.c +++ b/src/highlight.c @@ -4515,7 +4515,7 @@ hlg_add_or_update(dict_T *dict) # endif p = add_attr_and_value(p, (char_u *)" guifg=", 7, guifg); p = add_attr_and_value(p, (char_u *)" guibg=", 7, guibg); - p = add_attr_and_value(p, (char_u *)" guisp=", 7, guisp); + (void)add_attr_and_value(p, (char_u *)" guisp=", 7, guisp); do_highlight(hlsetBuf, forceit, FALSE);
--- a/src/mbyte.c +++ b/src/mbyte.c @@ -5617,7 +5617,6 @@ f_setcellwidths(typval_T *argvars, typva } // Store the items in the new table. - item = 0; for (item = 0; item < l->lv_len; ++item) { listitem_T *lili = ptrs[item];
--- a/src/ops.c +++ b/src/ops.c @@ -1282,11 +1282,11 @@ op_tilde(oparg_T *oap) #ifdef FEAT_NETBEANS_INTG if (netbeans_active() && one_change) { - char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE); + char_u *ptr; netbeans_removed(curbuf, pos.lnum, bd.textcol, (long)bd.textlen); - // get the line again, it may have been flushed + // get the line now, it may have been flushed ptr = ml_get_buf(curbuf, pos.lnum, FALSE); netbeans_inserted(curbuf, pos.lnum, bd.textcol, &ptr[bd.textcol], bd.textlen);
--- a/src/tag.c +++ b/src/tag.c @@ -4368,7 +4368,12 @@ get_tags(list_T *list, char_u *pat, char { for (i = 0; i < num_matches; ++i) { - parse_match(matches[i], &tp); + if (parse_match(matches[i], &tp) == FAIL) + { + vim_free(matches[i]); + continue; + } + is_static = test_for_static(&tp); // Skip pseudo-tag lines.
--- a/src/version.c +++ b/src/version.c @@ -708,6 +708,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 364, +/**/ 363, /**/ 362,
--- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -2243,9 +2243,9 @@ compile_assignment(char_u *arg, exarg_T r = compile_expr0_ext(&p, cctx, &is_const); if (lhs.lhs_new_local) ++cctx->ctx_locals.ga_len; - if (r == FAIL) - goto theend; } + if (r == FAIL) + goto theend; } else if (semicolon && var_idx == var_count - 1) {