Change 11043 by jhi@alpha on 2001/06/30 13:15:59
The #11040 had slipped to a wrong function...
Affected files ...
... //depot/perl/sv.c#430 edit
Differences ...
==== //depot/perl/sv.c#430 (text) ====
Index: perl/sv.c
--- perl/sv.c.~1~ Sat Jun 30 07:30:05 2001
+++ perl/sv.c Sat Jun 30 07:30:05 2001
@@ -8440,6 +8440,18 @@
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 @@
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))) {
End of Patch.