diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 1998-01-13 22:55:02 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 1998-01-13 22:55:02 +0000 |
commit | 1393e20655efb4bcc2062605bfe887dd5e634bc1 (patch) | |
tree | 0bd8c4701b965a4afe3e2876808255d0b1743562 | |
parent | ab3c85350aa85d8f47cd7983fff31f525e769c31 (diff) | |
download | perl-1393e20655efb4bcc2062605bfe887dd5e634bc1.tar.gz |
tiearray tweaks
p4raw-id: //depot/ansiperl@420
-rw-r--r-- | av.c | 1 | ||||
-rw-r--r-- | pp_sys.c | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | t/op/nothread.t | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | t/op/tiearray.t | 4 |
4 files changed, 9 insertions, 4 deletions
@@ -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; @@ -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 index 7d42d276c8..7d42d276c8 100644..100755 --- a/t/op/nothread.t +++ b/t/op/nothread.t diff --git a/t/op/tiearray.t b/t/op/tiearray.t index 028fe40c60..045891dd42 100644..100755 --- 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; } |