Skip to content

Commit 2f31aef

Browse files
committed
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.
1 parent 5c820d0 commit 2f31aef

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

regexec.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3501,12 +3501,12 @@ S_reg_set_capture_string(pTHX_ REGEXP * const rx,
35013501
/* Create a new COW SV to share the match string and store
35023502
* in saved_copy, unless the current COW SV in saved_copy
35033503
* is valid and suitable for our purpose */
3504-
if (( prog->saved_copy
3505-
&& SvIsCOW(prog->saved_copy)
3506-
&& SvPOKp(prog->saved_copy)
3504+
if (( RXp_SAVED_COPY(prog)
3505+
&& SvIsCOW(RXp_SAVED_COPY(prog))
3506+
&& SvPOKp(RXp_SAVED_COPY(prog))
35073507
&& SvIsCOW(sv)
35083508
&& SvPOKp(sv)
3509-
&& SvPVX(sv) == SvPVX(prog->saved_copy)))
3509+
&& SvPVX(sv) == SvPVX(RXp_SAVED_COPY(prog))))
35103510
{
35113511
/* just reuse saved_copy SV */
35123512
if (RXp_MATCH_COPIED(prog)) {
@@ -3517,10 +3517,10 @@ S_reg_set_capture_string(pTHX_ REGEXP * const rx,
35173517
else {
35183518
/* create new COW SV to share string */
35193519
RXp_MATCH_COPY_FREE(prog);
3520-
prog->saved_copy = sv_setsv_cow(prog->saved_copy, sv);
3520+
RXp_SAVED_COPY(prog) = sv_setsv_cow(RXp_SAVED_COPY(prog), sv);
35213521
}
3522-
RXp_SUBBEG(prog) = (char *)SvPVX_const(prog->saved_copy);
3523-
assert (SvPOKp(prog->saved_copy));
3522+
RXp_SUBBEG(prog) = (char *)SvPVX_const(RXp_SAVED_COPY(prog));
3523+
assert (SvPOKp(RXp_SAVED_COPY(prog)));
35243524
RXp_SUBLEN(prog) = strend - strbeg;
35253525
RXp_SUBOFFSET(prog) = 0;
35263526
RXp_SUBCOFFSET(prog) = 0;
@@ -11265,7 +11265,7 @@ S_setup_eval_state(pTHX_ regmatch_info *const reginfo)
1126511265
eval_state->suboffset = RXp_SUBOFFSET(rex);
1126611266
eval_state->subcoffset = RXp_SUBCOFFSET(rex);
1126711267
#ifdef PERL_ANY_COW
11268-
eval_state->saved_copy = rex->saved_copy;
11268+
eval_state->saved_copy = RXp_SAVED_COPY(rex);
1126911269
#endif
1127011270
RXp_MATCH_COPIED_off(rex);
1127111271
}
@@ -11300,7 +11300,7 @@ S_cleanup_regmatch_info_aux(pTHX_ void *arg)
1130011300
RXp_SUBOFFSET(rex) = eval_state->suboffset;
1130111301
RXp_SUBCOFFSET(rex) = eval_state->subcoffset;
1130211302
#ifdef PERL_ANY_COW
11303-
rex->saved_copy = eval_state->saved_copy;
11303+
RXp_SAVED_COPY(rex) = eval_state->saved_copy;
1130411304
#endif
1130511305
RXp_MATCH_COPIED_on(rex);
1130611306
}

0 commit comments

Comments
 (0)