From 1393e20655efb4bcc2062605bfe887dd5e634bc1 Mon Sep 17 00:00:00 2001 From: Nick Ing-Simmons Date: Tue, 13 Jan 1998 22:55:02 +0000 Subject: [PATCH] tiearray tweaks p4raw-id: //depot/ansiperl@420 --- av.c | 1 + pp_sys.c | 8 +++++++- t/op/nothread.t | 0 t/op/tiearray.t | 4 +--- 4 files changed, 9 insertions(+), 4 deletions(-) mode change 100644 => 100755 t/op/nothread.t mode change 100644 => 100755 t/op/tiearray.t 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; } -- 2.7.4