diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-30 13:15:59 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-30 13:15:59 +0000 |
commit | 05bd410391c3da3a732fa3cd37852e51526dd8b4 (patch) | |
tree | 37fb828b57b192c66107539286bf083615b34915 /sv.c | |
parent | 9c55cb5993369dcce3cc192d35605d25b4a3b8df (diff) | |
download | perl-05bd410391c3da3a732fa3cd37852e51526dd8b4.tar.gz |
The #11040 had slipped to a wrong function...
p4raw-id: //depot/perl@11043
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -8440,6 +8440,18 @@ Perl_mg_dup(pTHX_ MAGIC *mg, clone_params* param) if (mg->mg_type == PERL_MAGIC_qr) { nmg->mg_obj = (SV*)re_dup((REGEXP*)mg->mg_obj); } + else if(mg->mg_type == PERL_MAGIC_backref) { + AV *av = (AV*) mg->mg_obj; + SV **svp; + I32 i; + nmg->mg_obj = (SV*)newAV(); + svp = AvARRAY(av); + i = AvFILLp(av); + while (i >= 0) { + av_push((AV*)nmg->mg_obj,sv_dup(svp[i],param)); + i--; + } + } else { nmg->mg_obj = (mg->mg_flags & MGf_REFCOUNTED) ? sv_dup_inc(mg->mg_obj, param) @@ -8628,18 +8640,6 @@ S_gv_share(pTHX_ SV *sstr) else if (!GvCV(gv)) { GvCV(gv) = (CV*)sv; } - else if(mg->mg_type == PERL_MAGIC_backref) { - AV *av = (AV*) mg->mg_obj; - SV **svp; - I32 i; - nmg->mg_obj = (SV*)newAV(); - svp = AvARRAY(av); - i = AvFILLp(av); - while (i >= 0) { - av_push((AV*)nmg->mg_obj,sv_dup(svp[i],param)); - i--; - } - } else { /* CvPADLISTs cannot be shared */ if (!CvXSUB(GvCV(gv))) { |