} \
if (cx->blk_sub.cv) { \
if (!(CvDEPTH(cx->blk_sub.cv) = cx->blk_sub.olddepth)) { \
+ if (cx->blk_sub.hasargs) { \
+ SvREFCNT_inc((SV*)cx->blk_sub.argarray); \
+ } \
SvREFCNT_dec((SV*)cx->blk_sub.cv); \
} \
}
char * sbu_m;
char * sbu_strend;
char * sbu_subbase;
+ REGEXP * sbu_rx;
};
#define sb_iters cx_u.cx_subst.sbu_iters
#define sb_maxiters cx_u.cx_subst.sbu_maxiters
#define sb_m cx_u.cx_subst.sbu_m
#define sb_strend cx_u.cx_subst.sbu_strend
#define sb_subbase cx_u.cx_subst.sbu_subbase
+#define sb_rx cx_u.cx_subst.sbu_rx
#define PUSHSUBST(cx) CXINC, cx = &cxstack[cxstack_ix], \
cx->sb_iters = iters, \
cx->sb_s = s, \
cx->sb_m = m, \
cx->sb_strend = strend, \
+ cx->sb_rx = rx, \
cx->cx_type = CXt_SUBST
#define POPSUBST(cx) cxstack_ix--