summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-01-12 21:00:40 +0100
committerBram Moolenaar <Bram@vim.org>2016-01-12 21:00:40 +0100
commit7ae4fbca552c972eb3645ece02a2807e517610d7 (patch)
treec8c3cb0486f581f0e98818cef008ca7b3147a623
parentd79e55016cf8268cee935f1ac3b5b28712d1399e (diff)
downloadvim-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.c56
-rw-r--r--src/version.c2
2 files changed, 29 insertions, 29 deletions
diff --git a/src/ops.c b/src/ops.c
index d28589305..52794bdf2 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -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,