diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-01-12 21:00:40 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-01-12 21:00:40 +0100 |
commit | 7ae4fbca552c972eb3645ece02a2807e517610d7 (patch) | |
tree | c8c3cb0486f581f0e98818cef008ca7b3147a623 | |
parent | d79e55016cf8268cee935f1ac3b5b28712d1399e (diff) | |
download | vim-git-7ae4fbca552c972eb3645ece02a2807e517610d7.tar.gz |
patch 7.4.1088v7.4.1088
Problem: Coverity warns for uninitialized variables. Only one is an actual
problem.
Solution: Move the conditions. Don't use endpos if handling an error.
-rw-r--r-- | src/ops.c | 56 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 29 insertions, 29 deletions
@@ -5371,9 +5371,9 @@ op_addsub(oap, Prenum1, g_cmd) } else { - int one_change; - int length; - pos_T startpos; + int one_change; + int length; + pos_T startpos; if (u_save((linenr_T)(oap->start.lnum - 1), (linenr_T)(oap->end.lnum + 1)) == FAIL) @@ -5388,32 +5388,29 @@ op_addsub(oap, Prenum1, g_cmd) pos.col = bd.textcol; length = bd.textlen; } - else + else if (oap->motion_type == MLINE) + { + curwin->w_cursor.col = 0; + pos.col = 0; + length = (colnr_T)STRLEN(ml_get(pos.lnum)); + } + else /* oap->motion_type == MCHAR */ { - if (oap->motion_type == MLINE) + if (!oap->inclusive) + dec(&(oap->end)); + length = (colnr_T)STRLEN(ml_get(pos.lnum)); + pos.col = 0; + if (pos.lnum == oap->start.lnum) { - curwin->w_cursor.col = 0; - pos.col = 0; - length = (colnr_T)STRLEN(ml_get(pos.lnum)); + pos.col += oap->start.col; + length -= oap->start.col; } - else if (oap->motion_type == MCHAR) + if (pos.lnum == oap->end.lnum) { - if (!oap->inclusive) - dec(&(oap->end)); - length = (colnr_T)STRLEN(ml_get(pos.lnum)); - pos.col = 0; - if (pos.lnum == oap->start.lnum) - { - pos.col += oap->start.col; - length -= oap->start.col; - } - if (pos.lnum == oap->end.lnum) - { - length = (int)STRLEN(ml_get(oap->end.lnum)); - if (oap->end.col >= length) - oap->end.col = length - 1; - length = oap->end.col - pos.col + 1; - } + length = (int)STRLEN(ml_get(oap->end.lnum)); + if (oap->end.col >= length) + oap->end.col = length - 1; + length = oap->end.col - pos.col + 1; } } one_change = do_addsub(oap->op_type, &pos, length, amount); @@ -5493,7 +5490,7 @@ do_addsub(op_type, pos, length, Prenum1) int was_positive = TRUE; int visual = VIsual_active; int did_change = FALSE; - pos_T t = curwin->w_cursor; + pos_T save_cursor = curwin->w_cursor; int maxlen = 0; pos_T startpos; pos_T endpos; @@ -5819,9 +5816,6 @@ do_addsub(op_type, pos, length, Prenum1) --curwin->w_cursor.col; } -theend: - if (visual) - curwin->w_cursor = t; if (did_change) { /* set the '[ and '] marks */ @@ -5831,6 +5825,10 @@ theend: --curbuf->b_op_end.col; } +theend: + if (visual) + curwin->w_cursor = save_cursor; + return did_change; } diff --git a/src/version.c b/src/version.c index db72d0596..dfcd63510 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1088, +/**/ 1087, /**/ 1086, |