@@ -3501,12 +3501,12 @@ S_reg_set_capture_string(pTHX_ REGEXP * const rx,
3501
3501
/* Create a new COW SV to share the match string and store
3502
3502
* in saved_copy, unless the current COW SV in saved_copy
3503
3503
* 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 ) )
3507
3507
&& SvIsCOW (sv )
3508
3508
&& SvPOKp (sv )
3509
- && SvPVX (sv ) == SvPVX (prog -> saved_copy )))
3509
+ && SvPVX (sv ) == SvPVX (RXp_SAVED_COPY ( prog ) )))
3510
3510
{
3511
3511
/* just reuse saved_copy SV */
3512
3512
if (RXp_MATCH_COPIED (prog )) {
@@ -3517,10 +3517,10 @@ S_reg_set_capture_string(pTHX_ REGEXP * const rx,
3517
3517
else {
3518
3518
/* create new COW SV to share string */
3519
3519
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 );
3521
3521
}
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 ) ));
3524
3524
RXp_SUBLEN (prog ) = strend - strbeg ;
3525
3525
RXp_SUBOFFSET (prog ) = 0 ;
3526
3526
RXp_SUBCOFFSET (prog ) = 0 ;
@@ -11265,7 +11265,7 @@ S_setup_eval_state(pTHX_ regmatch_info *const reginfo)
11265
11265
eval_state -> suboffset = RXp_SUBOFFSET (rex );
11266
11266
eval_state -> subcoffset = RXp_SUBCOFFSET (rex );
11267
11267
#ifdef PERL_ANY_COW
11268
- eval_state -> saved_copy = rex -> saved_copy ;
11268
+ eval_state -> saved_copy = RXp_SAVED_COPY ( rex ) ;
11269
11269
#endif
11270
11270
RXp_MATCH_COPIED_off (rex );
11271
11271
}
@@ -11300,7 +11300,7 @@ S_cleanup_regmatch_info_aux(pTHX_ void *arg)
11300
11300
RXp_SUBOFFSET (rex ) = eval_state -> suboffset ;
11301
11301
RXp_SUBCOFFSET (rex ) = eval_state -> subcoffset ;
11302
11302
#ifdef PERL_ANY_COW
11303
- rex -> saved_copy = eval_state -> saved_copy ;
11303
+ RXp_SAVED_COPY ( rex ) = eval_state -> saved_copy ;
11304
11304
#endif
11305
11305
RXp_MATCH_COPIED_on (rex );
11306
11306
}
0 commit comments