comparison src/proto/regexp.pro @ 18572:23fef64352a1 v8.1.2280

patch 8.1.2280: crash when passing partial to substitute() Commit: https://github.com/vim/vim/commit/b0745b221d284e381f1bd4b591cd68ea54b6a51d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Nov 9 22:28:11 2019 +0100 patch 8.1.2280: crash when passing partial to substitute() Problem: Crash when passing partial to substitute(). Solution: Take extra arguments into account. (closes https://github.com/vim/vim/issues/5186)
author Bram Moolenaar <Bram@vim.org>
date Sat, 09 Nov 2019 22:30:04 +0100
parents d89c5b339c2a
children 6fd567c927c0
comparison
equal deleted inserted replaced
18571:e268594d460a 18572:23fef64352a1
1 /* regexp.c */ 1 /* regexp.c */
2 int re_multiline(regprog_T *prog); 2 int re_multiline(regprog_T *prog);
3 char_u *skip_regexp(char_u *startp, int dirc, int magic, char_u **newp); 3 char_u *skip_regexp(char_u *startp, int dirc, int magic, char_u **newp);
4 int vim_regcomp_had_eol(void);
5 void free_regexp_stuff(void);
6 reg_extmatch_T *ref_extmatch(reg_extmatch_T *em); 4 reg_extmatch_T *ref_extmatch(reg_extmatch_T *em);
7 void unref_extmatch(reg_extmatch_T *em); 5 void unref_extmatch(reg_extmatch_T *em);
8 char_u *regtilde(char_u *source, int magic); 6 char_u *regtilde(char_u *source, int magic);
9 int vim_regsub(regmatch_T *rmp, char_u *source, typval_T *expr, char_u *dest, int copy, int magic, int backslash); 7 int vim_regsub(regmatch_T *rmp, char_u *source, typval_T *expr, char_u *dest, int copy, int magic, int backslash);
10 int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash); 8 int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash);
11 char_u *reg_submatch(int no); 9 char_u *reg_submatch(int no);
12 list_T *reg_submatch_list(int no); 10 list_T *reg_submatch_list(int no);
11 int vim_regcomp_had_eol(void);
13 regprog_T *vim_regcomp(char_u *expr_arg, int re_flags); 12 regprog_T *vim_regcomp(char_u *expr_arg, int re_flags);
14 void vim_regfree(regprog_T *prog); 13 void vim_regfree(regprog_T *prog);
14 void free_regexp_stuff(void);
15 int regprog_in_use(regprog_T *prog); 15 int regprog_in_use(regprog_T *prog);
16 int vim_regexec_prog(regprog_T **prog, int ignore_case, char_u *line, colnr_T col); 16 int vim_regexec_prog(regprog_T **prog, int ignore_case, char_u *line, colnr_T col);
17 int vim_regexec(regmatch_T *rmp, char_u *line, colnr_T col); 17 int vim_regexec(regmatch_T *rmp, char_u *line, colnr_T col);
18 int vim_regexec_nl(regmatch_T *rmp, char_u *line, colnr_T col); 18 int vim_regexec_nl(regmatch_T *rmp, char_u *line, colnr_T col);
19 long vim_regexec_multi(regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm, int *timed_out); 19 long vim_regexec_multi(regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm, int *timed_out);