summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-03-13 20:42:26 +0100
committerChristian Brabandt <cb@256bit.org>2024-03-13 20:42:26 +0100
commit8c55d60658b7ee3458dca57fc5eec90ca9bb9bf3 (patch)
treedddeb0a5cbbbf48122ed92f5ee1ab512d852ac22
parent253ff4dece4e6cc4a9ff3ed935bc78f832b6fb7c (diff)
patch 9.1.0177: Coverity reports dead codev9.1.0177
Problem: Coverity reports dead code. Solution: Remove the dead code. Also fix a mistake in ml_get_pos_len() and update some comments (zeertzjq). closes: #14189 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r--src/fold.c6
-rw-r--r--src/memline.c4
-rw-r--r--src/ops.c25
-rw-r--r--src/quickfix.c6
-rw-r--r--src/spellsuggest.c1
-rw-r--r--src/testdir/test_normal.vim8
-rw-r--r--src/version.c2
7 files changed, 29 insertions, 23 deletions
diff --git a/src/fold.c b/src/fold.c
index 420bcf1b88..2cd4dcd580 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -107,7 +107,7 @@ copyFoldingState(win_T *wp_from, win_T *wp_to)
// hasAnyFolding() {{{2
/*
- * Return TRUE if there may be folded lines in the current window.
+ * Return TRUE if there may be folded lines in window "win".
*/
int
hasAnyFolding(win_T *win)
@@ -551,7 +551,7 @@ checkCloseRec(garray_T *gap, linenr_T lnum, int level)
return retval;
}
-// foldCreateAllowed() {{{2
+// foldManualAllowed() {{{2
/*
* Return TRUE if it's allowed to manually create or delete a fold.
* Give an error message and return FALSE if not.
@@ -1089,7 +1089,7 @@ foldAdjustVisual(void)
mb_adjust_cursor();
}
-// cursor_foldstart() {{{2
+// foldAdjustCursor() {{{2
/*
* Move the cursor to the first line of a closed fold.
*/
diff --git a/src/memline.c b/src/memline.c
index a1c29cf0e7..5ca50fc1c9 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -2686,7 +2686,7 @@ ml_get_len(linenr_T lnum)
colnr_T
ml_get_pos_len(pos_T *pos)
{
- return ml_get_buf_len(curbuf, curwin->w_cursor.lnum) - pos->col;
+ return ml_get_buf_len(curbuf, pos->lnum) - pos->col;
}
// return length (excluding the NUL) of the cursor line
@@ -3582,7 +3582,7 @@ ml_replace(linenr_T lnum, char_u *line, int copy)
* Replace a line for the current buffer. Like ml_replace() with:
* "len_arg" is the length of the text, excluding NUL.
* If "has_props" is TRUE then "line_arg" includes the text properties and
- * "len_arg" includes the NUL of the text.
+ * "len_arg" includes the NUL of the text and text properties.
* When "copy" is TRUE copy the text into allocated memory, otherwise
* "line_arg" must be allocated and will be consumed here.
*/
diff --git a/src/ops.c b/src/ops.c
index 3216f3c818..dbdf119a7c 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -849,8 +849,8 @@ op_delete(oparg_T *oap)
}
else
beginline(0); // cursor in column 0
- truncate_line(FALSE); // delete the rest of the line
- // leave cursor past last char in line
+ truncate_line(FALSE); // delete the rest of the line,
+ // leaving cursor past last char in line
if (oap->line_count > 1)
u_clearline(); // "U" command not possible after "2cc"
}
@@ -1494,16 +1494,13 @@ swapchar(int op_type, pos_T *pos)
void
op_insert(oparg_T *oap, long count1)
{
- long ins_len, pre_textlen = 0;
- char_u *firstline, *ins_text;
+ long pre_textlen = 0;
colnr_T ind_pre_col = 0, ind_post_col;
int ind_pre_vcol = 0, ind_post_vcol = 0;
struct block_def bd;
int i;
pos_T t1;
pos_T start_insert;
- // offset when cursor was moved in insert mode
- int offset = 0;
// edit() changes this - record it for OP_APPEND
bd.is_MAX = (curwin->w_curswant == MAXCOL);
@@ -1540,14 +1537,9 @@ op_insert(oparg_T *oap, long count1)
// Get indent information
ind_pre_col = (colnr_T)getwhitecols_curline();
ind_pre_vcol = get_indent();
- firstline = ml_get(oap->start.lnum) + bd.textcol;
pre_textlen = ml_get_len(oap->start.lnum) - bd.textcol;
-
if (oap->op_type == OP_APPEND)
- {
- firstline += bd.textlen;
pre_textlen -= bd.textlen;
- }
}
if (oap->op_type == OP_APPEND)
@@ -1601,10 +1593,14 @@ op_insert(oparg_T *oap, long count1)
if (oap->block_mode)
{
+ long ins_len;
+ char_u *firstline, *ins_text;
struct block_def bd2;
int did_indent = FALSE;
size_t len;
int add;
+ // offset when cursor was moved in insert mode
+ int offset = 0;
// If indent kicked in, the firstline might have changed
// but only do that, if the indent actually increased.
@@ -2654,6 +2650,7 @@ do_addsub(
uvarnumber_T n;
uvarnumber_T oldn;
char_u *ptr;
+ int linelen;
int c;
int todel;
int do_hex;
@@ -2687,9 +2684,10 @@ do_addsub(
curwin->w_cursor = *pos;
ptr = ml_get(pos->lnum);
+ linelen = ml_get_len(pos->lnum);
col = pos->col;
- if (*ptr == NUL || col + !!save_coladd >= (int)STRLEN(ptr))
+ if (col + !!save_coladd >= linelen)
goto theend;
/*
@@ -2869,8 +2867,7 @@ do_addsub(
// get the number value (unsigned)
if (visual && VIsual_mode != 'V')
maxlen = (curbuf->b_visual.vi_curswant == MAXCOL
- ? (int)STRLEN(ptr) - col
- : length);
+ ? linelen - col : length);
int overflow = FALSE;
vim_str2nr(ptr + col, &pre, &length,
diff --git a/src/quickfix.c b/src/quickfix.c
index 006c1346f6..0bf4cfe6b4 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -6203,7 +6203,7 @@ vgr_match_buflines(
else
{
char_u *str = ml_get_buf(buf, lnum, FALSE);
- int line_len = ml_get_buf_len(buf, lnum);
+ colnr_T linelen = ml_get_buf_len(buf, lnum);
int score;
int_u matches[MAX_FUZZY_MATCHES];
int_u sz = ARRAY_LENGTH(matches);
@@ -6242,7 +6242,7 @@ vgr_match_buflines(
if ((flags & VGR_GLOBAL) == 0)
break;
col = matches[pat_len - 1] + col + 1;
- if (col > line_len)
+ if (col > linelen)
break;
}
}
@@ -6612,7 +6612,7 @@ ex_vimgrep(exarg_T *eap)
goto theend;
}
- // Jump to first match if the current window is not 'winfixbuf'
+ // Jump to first match.
if (!qf_list_empty(qf_get_curlist(qi)))
{
if ((args.flags & VGR_NOJUMP) == 0)
diff --git a/src/spellsuggest.c b/src/spellsuggest.c
index ded04af1a4..c6e61832da 100644
--- a/src/spellsuggest.c
+++ b/src/spellsuggest.c
@@ -508,7 +508,6 @@ spell_suggest(int count)
++badlen;
end_visual_mode();
// make sure we don't include the NUL at the end of the line
- line = ml_get_curline();
if (badlen > ml_get_curline_len() - (int)curwin->w_cursor.col)
badlen = ml_get_curline_len() - (int)curwin->w_cursor.col;
}
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index dc68a158a1..b18063747b 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -2364,6 +2364,14 @@ func Test_normal30_changecase()
%d
call assert_beeps('norm! ~')
+ " Test with multiple lines
+ call setline(1, ['AA', 'BBBB', 'CCCCCC', 'DDDDDDDD'])
+ norm! ggguG
+ call assert_equal(['aa', 'bbbb', 'cccccc', 'dddddddd'], getline(1, '$'))
+ norm! GgUgg
+ call assert_equal(['AA', 'BBBB', 'CCCCCC', 'DDDDDDDD'], getline(1, '$'))
+ %d
+
" Test for changing case across lines using 'whichwrap'
call setline(1, ['aaaaaa', 'aaaaaa'])
normal! gg10~
diff --git a/src/version.c b/src/version.c
index 6bdf896957..78c496b735 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 177,
+/**/
176,
/**/
175,