aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_cmds.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-04-04 11:39:12 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-04-04 12:11:38 +0800
commitbbfc44e255ec6d1a6ced68dde64ff5d3c68b9ceb (patch)
tree410fdd3af60b0ba3af8a67edde01818ba6a84a89 /src/nvim/ex_cmds.c
parent64869831171ffa455f35d1a1ce3a3f9c7e7416a2 (diff)
downloadrneovim-bbfc44e255ec6d1a6ced68dde64ff5d3c68b9ceb.tar.gz
rneovim-bbfc44e255ec6d1a6ced68dde64ff5d3c68b9ceb.tar.bz2
rneovim-bbfc44e255ec6d1a6ced68dde64ff5d3c68b9ceb.zip
refactor: pass "preview" to regtilde()
Diffstat (limited to 'src/nvim/ex_cmds.c')
-rw-r--r--src/nvim/ex_cmds.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c
index 830e764104..65cb544efd 100644
--- a/src/nvim/ex_cmds.c
+++ b/src/nvim/ex_cmds.c
@@ -3642,7 +3642,7 @@ static buf_T *do_sub(exarg_T *eap, proftime_T timeout, bool do_buf_event, handle
sub_copy = sub;
} else {
char_u *source = sub;
- sub = regtilde(sub, p_magic);
+ sub = regtilde(sub, p_magic, preview);
// When previewing, the new pattern allocated by regtilde() needs to be freed
// in this function because it will not be used or freed by regtilde() later.
sub_needs_free = preview && sub != source;
@@ -4420,6 +4420,9 @@ skip:
vim_regfree(regmatch.regprog);
xfree(sub_copy);
+ if (sub_needs_free) {
+ xfree(sub);
+ }
// Restore the flag values, they can be used for ":&&".
subflags.do_all = save_do_all;
@@ -4452,10 +4455,6 @@ skip:
kv_destroy(preview_lines.subresults);
- if (sub_needs_free) {
- xfree(sub);
- }
-
return preview_buf;
#undef ADJUST_SUB_FIRSTLNUM
#undef PUSH_PREVIEW_LINES