summaryrefslogtreecommitdiff
path: root/src/regexp.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-02-15 23:06:45 +0100
committerBram Moolenaar <Bram@vim.org>2020-02-15 23:06:45 +0100
commitf4140488c72cad4dbf5449dba099cfa7de7bbb22 (patch)
treeef69c7720d31e0871cd01c41d447a5440e9d8e9c /src/regexp.c
parentebdf3c964a901fc00c9009689f7cfda478342c51 (diff)
downloadvim-git-f4140488c72cad4dbf5449dba099cfa7de7bbb22.tar.gz
patch 8.2.0260: several lines of code are duplicatedv8.2.0260
Problem: Several lines of code are duplicated. Solution: Move duplicated code to a function. (Yegappan Lakshmanan, closes #5330)
Diffstat (limited to 'src/regexp.c')
-rw-r--r--src/regexp.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/regexp.c b/src/regexp.c
index ef3896c0a..4e21d44cc 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -2511,6 +2511,28 @@ reg_submatch_list(int no)
}
#endif
+/*
+ * Initialize the values used for matching against multiple lines
+ */
+ static void
+init_regexec_multi(
+ regmmatch_T *rmp,
+ win_T *win, // window in which to search or NULL
+ buf_T *buf, // buffer in which to search
+ linenr_T lnum) // nr of line to start looking for match
+{
+ rex.reg_match = NULL;
+ rex.reg_mmatch = rmp;
+ rex.reg_buf = buf;
+ rex.reg_win = win;
+ rex.reg_firstlnum = lnum;
+ rex.reg_maxline = rex.reg_buf->b_ml.ml_line_count - lnum;
+ rex.reg_line_lbr = FALSE;
+ rex.reg_ic = rmp->rmm_ic;
+ rex.reg_icombine = FALSE;
+ rex.reg_maxcol = rmp->rmm_maxcol;
+}
+
#include "regexp_bt.c"
static regengine_T bt_regengine =