patch 8.1.0499: :2vimgrep causes an ml_get error
Problem: :2vimgrep causes an ml_get error
Solution: Pass tomatch pointer instead of value. (Yegappan Lakshmanan)
diff --git a/src/quickfix.c b/src/quickfix.c
index b899612..9b19220 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -5217,7 +5217,7 @@
char_u *fname,
buf_T *buf,
regmmatch_T *regmatch,
- long tomatch,
+ long *tomatch,
int duplicate_name,
int flags)
{
@@ -5225,7 +5225,7 @@
long lnum;
colnr_T col;
- for (lnum = 1; lnum <= buf->b_ml.ml_line_count && tomatch > 0; ++lnum)
+ for (lnum = 1; lnum <= buf->b_ml.ml_line_count && *tomatch > 0; ++lnum)
{
col = 0;
while (vim_regexec_multi(regmatch, curwin, buf, lnum,
@@ -5255,7 +5255,7 @@
break;
}
found_match = TRUE;
- if (--tomatch == 0)
+ if (--*tomatch == 0)
break;
if ((flags & VGR_GLOBAL) == 0
|| regmatch->endpos[0].lnum > 0)
@@ -5464,7 +5464,7 @@
// Try for a match in all lines of the buffer.
// For ":1vimgrep" look for first match only.
found_match = vgr_match_buflines(qi, fname, buf, ®match,
- tomatch, duplicate_name, flags);
+ &tomatch, duplicate_name, flags);
if (using_dummy)
{