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,28 +4235,27 @@ 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 if (oap->motion_type == MLINE) {
curwin->w_cursor.col = 0;
pos.col = 0;
length = (colnr_T)STRLEN(ml_get(pos.lnum));
} else { } else {
if (oap->motion_type == MLINE) { // oap->motion_type == MCHAR
curwin->w_cursor.col = 0; if (!oap->inclusive) {
pos.col = 0; dec(&(oap->end));
length = (colnr_T)STRLEN(ml_get(pos.lnum)); }
} else if (oap->motion_type == MCHAR) { length = (colnr_T)STRLEN(ml_get(pos.lnum));
if (!oap->inclusive) { pos.col = 0;
dec(&(oap->end)); if (pos.lnum == oap->start.lnum) {
} pos.col += oap->start.col;
length = (colnr_T)STRLEN(ml_get(pos.lnum)); length -= oap->start.col;
pos.col = 0; }
if (pos.lnum == oap->start.lnum) { if (pos.lnum == oap->end.lnum) {
pos.col += oap->start.col; length = (int)STRLEN(ml_get(oap->end.lnum));
length -= oap->start.col; if (oap->end.col >= length) {
} oap->end.col = length - 1;
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 = 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);
@@ -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,