vim-patch:7.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.

7ae4fbca55
This commit is contained in:
watiko
2016-01-15 21:54:18 +09:00
parent 8f212568aa
commit cb724182ff
2 changed files with 27 additions and 25 deletions

View File

@@ -4235,12 +4235,12 @@ void op_addsub(oparg_T *oap, linenr_T Prenum1, bool g_cmd)
block_prep(oap, &bd, pos.lnum, false); block_prep(oap, &bd, pos.lnum, false);
pos.col = bd.textcol; pos.col = bd.textcol;
length = bd.textlen; length = bd.textlen;
} else { } else if (oap->motion_type == MLINE) {
if (oap->motion_type == MLINE) {
curwin->w_cursor.col = 0; curwin->w_cursor.col = 0;
pos.col = 0; pos.col = 0;
length = (colnr_T)STRLEN(ml_get(pos.lnum)); length = (colnr_T)STRLEN(ml_get(pos.lnum));
} else if (oap->motion_type == MCHAR) { } else {
// oap->motion_type == MCHAR
if (!oap->inclusive) { if (!oap->inclusive) {
dec(&(oap->end)); dec(&(oap->end));
} }
@@ -4258,7 +4258,6 @@ void op_addsub(oparg_T *oap, linenr_T Prenum1, bool g_cmd)
length = oap->end.col - pos.col + 1; length = oap->end.col - pos.col + 1;
} }
} }
}
one_change = do_addsub(oap->op_type, &pos, length, amount); one_change = do_addsub(oap->op_type, &pos, length, amount);
if (one_change) { if (one_change) {
// Remember the start position of the first change. // Remember the start position of the first change.
@@ -4327,7 +4326,7 @@ int do_addsub(int op_type, pos_T *pos, int length, linenr_T Prenum1)
bool was_positive = true; bool was_positive = true;
bool visual = VIsual_active; bool visual = VIsual_active;
bool did_change = false; bool did_change = false;
pos_T t = curwin->w_cursor; pos_T save_cursor = curwin->w_cursor;
int maxlen = 0; int maxlen = 0;
pos_T startpos; pos_T startpos;
pos_T endpos; pos_T endpos;
@@ -4624,10 +4623,6 @@ int do_addsub(int op_type, pos_T *pos, int length, linenr_T Prenum1)
} }
} }
theend:
if (visual) {
curwin->w_cursor = t;
}
if (did_change) { if (did_change) {
// set the '[ and '] marks // set the '[ and '] marks
curbuf->b_op_start = startpos; curbuf->b_op_start = startpos;
@@ -4636,6 +4631,12 @@ theend:
curbuf->b_op_end.col--; curbuf->b_op_end.col--;
} }
} }
theend:
if (visual) {
curwin->w_cursor = save_cursor;
}
return did_change; return did_change;
} }

View File

@@ -73,6 +73,7 @@ static int included_patches[] = {
1088,
1087, 1087,
// 1086, // 1086,
1085, 1085,