summaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2023-01-26 16:39:48 +0100
committerYves Orton <demerphq@gmail.com>2023-03-13 21:26:08 +0800
commit2f31aef63c4a2c6863d88988c8f9550db5483813 (patch)
tree9600b44fd41722eace0a1868d188d7c92a029ad0 /regexec.c
parent5c820d0050c12f5113baf93f00be0762dbb60e5a (diff)
downloadperl-2f31aef63c4a2c6863d88988c8f9550db5483813.tar.gz
regexec.c - use RXp_SAVED_COPY(rex) instead of rex->saved_copy
We will migrate this member to a new structure in the near future, wrapping with a macro makes that migration simpler and less invasive.
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/regexec.c b/regexec.c
index 07c05e9ce2..94d4b83109 100644
--- a/regexec.c
+++ b/regexec.c
@@ -3501,12 +3501,12 @@ S_reg_set_capture_string(pTHX_ REGEXP * const rx,
/* Create a new COW SV to share the match string and store
* in saved_copy, unless the current COW SV in saved_copy
* is valid and suitable for our purpose */
- if (( prog->saved_copy
- && SvIsCOW(prog->saved_copy)
- && SvPOKp(prog->saved_copy)
+ if (( RXp_SAVED_COPY(prog)
+ && SvIsCOW(RXp_SAVED_COPY(prog))
+ && SvPOKp(RXp_SAVED_COPY(prog))
&& SvIsCOW(sv)
&& SvPOKp(sv)
- && SvPVX(sv) == SvPVX(prog->saved_copy)))
+ && SvPVX(sv) == SvPVX(RXp_SAVED_COPY(prog))))
{
/* just reuse saved_copy SV */
if (RXp_MATCH_COPIED(prog)) {
@@ -3517,10 +3517,10 @@ S_reg_set_capture_string(pTHX_ REGEXP * const rx,
else {
/* create new COW SV to share string */
RXp_MATCH_COPY_FREE(prog);
- prog->saved_copy = sv_setsv_cow(prog->saved_copy, sv);
+ RXp_SAVED_COPY(prog) = sv_setsv_cow(RXp_SAVED_COPY(prog), sv);
}
- RXp_SUBBEG(prog) = (char *)SvPVX_const(prog->saved_copy);
- assert (SvPOKp(prog->saved_copy));
+ RXp_SUBBEG(prog) = (char *)SvPVX_const(RXp_SAVED_COPY(prog));
+ assert (SvPOKp(RXp_SAVED_COPY(prog)));
RXp_SUBLEN(prog) = strend - strbeg;
RXp_SUBOFFSET(prog) = 0;
RXp_SUBCOFFSET(prog) = 0;
@@ -11265,7 +11265,7 @@ S_setup_eval_state(pTHX_ regmatch_info *const reginfo)
eval_state->suboffset = RXp_SUBOFFSET(rex);
eval_state->subcoffset = RXp_SUBCOFFSET(rex);
#ifdef PERL_ANY_COW
- eval_state->saved_copy = rex->saved_copy;
+ eval_state->saved_copy = RXp_SAVED_COPY(rex);
#endif
RXp_MATCH_COPIED_off(rex);
}
@@ -11300,7 +11300,7 @@ S_cleanup_regmatch_info_aux(pTHX_ void *arg)
RXp_SUBOFFSET(rex) = eval_state->suboffset;
RXp_SUBCOFFSET(rex) = eval_state->subcoffset;
#ifdef PERL_ANY_COW
- rex->saved_copy = eval_state->saved_copy;
+ RXp_SAVED_COPY(rex) = eval_state->saved_copy;
#endif
RXp_MATCH_COPIED_on(rex);
}