Mercurial > vim
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); |