Lines Matching defs:dsv
13256 Copy ssv to dsv, both of which should of type SVt_REGEXP or SVt_PVLV,
13257 except that dsv will be created if NULL.
13279 Perl_reg_temp_copy(pTHX_ REGEXP *dsv, REGEXP *ssv)
13283 const bool islv = dsv && SvTYPE(dsv) == SVt_PVLV;
13287 if (!dsv)
13288 dsv = (REGEXP*) newSV_type(SVt_REGEXP);
13290 assert(SvTYPE(dsv) == SVt_REGEXP || (SvTYPE(dsv) == SVt_PVLV));
13294 assert(!SvOOK(dsv));
13295 assert(!SvIsCOW(dsv));
13296 assert(!SvROK(dsv));
13298 if (SvPVX_const(dsv)) {
13299 if (SvLEN(dsv))
13300 Safefree(SvPVX(dsv));
13301 SvPVX(dsv) = NULL;
13303 SvLEN_set(dsv, 0);
13304 SvCUR_set(dsv, 0);
13305 SvOK_off((SV *)dsv);
13312 assert(!SvPVX(dsv));
13323 ((XPV*)SvANY(dsv))->xpv_len_u.xpvlenu_rx = temp->sv_any;
13329 SvCUR_set(dsv, SvCUR(ssv));
13334 SvFAKE_on(dsv);
13335 drx = ReANY(dsv);
13337 SvFLAGS(dsv) |= SvFLAGS(ssv) & (SVf_POK|SVp_POK|SVf_UTF8);
13338 SvPV_set(dsv, RX_WRAPPED(ssv));
13347 SvLEN_set(dsv, 0);
13382 RX_MATCH_COPIED_off(dsv);
13391 return dsv;
13425 SV *dsv= sv_newmortal();
13427 dsv, RX_PRECOMP(rx), RX_PRELEN(rx), PL_dump_re_max_len);