From: Nick Ing-Simmons Date: Tue, 13 Jan 1998 22:55:02 +0000 (+0000) Subject: tiearray tweaks X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=1393e20655efb4bcc2062605bfe887dd5e634bc1;p=p5sagit%2Fp5-mst-13.2.git tiearray tweaks p4raw-id: //depot/ansiperl@420 --- diff --git a/av.c b/av.c index 45d4628..e715d10 100644 --- a/av.c +++ b/av.c @@ -364,6 +364,7 @@ av_undef(register AV *av) SvREFCNT_dec(AvARRAY(av)[--key]); } Safefree(AvALLOC(av)); + AvARRAY(av) = 0; AvALLOC(av) = 0; SvPVX(av) = 0; AvMAX(av) = AvFILLp(av) = -1; diff --git a/pp_sys.c b/pp_sys.c index 26886d1..85ac711 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -565,7 +565,13 @@ PP(pp_tie) sv = TOPs; if (sv_isobject(sv)) { if (SvTYPE(varsv) == SVt_PVHV || SvTYPE(varsv) == SVt_PVAV) { - sv_unmagic(varsv, 'P'); + sv_unmagic(varsv, 'P'); +#ifdef DEBUGGING + if (SvTYPE(varsv) == SVt_PVAV) { + AV *av = (AV *) varsv; + av_undef(av); + } +#endif sv_magic(varsv, sv, 'P', Nullch, 0); } else { diff --git a/t/op/nothread.t b/t/op/nothread.t old mode 100644 new mode 100755 diff --git a/t/op/tiearray.t b/t/op/tiearray.t old mode 100644 new mode 100755 index 028fe40..045891d --- a/t/op/tiearray.t +++ b/t/op/tiearray.t @@ -174,9 +174,7 @@ print "ok ", $test++,"\n"; print "not " unless join(':',@ary) eq '1:2:3'; print "ok ", $test++,"\n"; -untie @ary; - -exit; +# untie @ary; }