summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSlaven Rezic <slaven@rezic.de>2002-11-18 12:09:51 +0100
committerhv <hv@crypt.org>2002-11-25 02:37:07 +0000
commit6bf47b083ef4085da3ab3288ed9331208cbe862c (patch)
treecca79781ce7a669658bcdd748f34677bcf84bec4
parent9d7f88ddd9ec1f324b7625b5481fe9d2002a2554 (diff)
downloadperl-6bf47b083ef4085da3ab3288ed9331208cbe862c.tar.gz
add support for STASH and MAGIC information for REFs to sv_dump().
Subject: [PATCH] Message-Id: <200211181009.gAIA9pFG034877@vran.herceg.de> p4raw-id: //depot/perl@18177
-rw-r--r--dump.c2
-rw-r--r--ext/Devel/Peek/Peek.t23
2 files changed, 22 insertions, 3 deletions
diff --git a/dump.c b/dump.c
index 5dc1e5cb3d..45d7494341 100644
--- a/dump.c
+++ b/dump.c
@@ -1118,8 +1118,6 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
Perl_dump_indent(aTHX_ level, file, " RV = 0x%"UVxf"\n", PTR2UV(SvRV(sv)));
if (nest < maxnest)
do_sv_dump(level+1, file, SvRV(sv), nest+1, maxnest, dumpops, pvlim);
- SvREFCNT_dec(d);
- return;
}
if (type < SVt_PV) {
SvREFCNT_dec(d);
diff --git a/ext/Devel/Peek/Peek.t b/ext/Devel/Peek/Peek.t
index ad34935d54..6bbdfde391 100644
--- a/ext/Devel/Peek/Peek.t
+++ b/ext/Devel/Peek/Peek.t
@@ -12,7 +12,7 @@ BEGIN {
use Devel::Peek;
-print "1..21\n";
+print "1..22\n";
our $DEBUG = 0;
open(SAVERR, ">&STDERR") or die "Can't dup STDERR: $!";
@@ -440,3 +440,24 @@ do_test(21,
END {
1 while unlink("peek$$");
}
+
+# blessed refs
+do_test(22,
+ bless(\\undef, 'Foobar'),
+'SV = RV\\($ADDR\\) at $ADDR
+ REFCNT = 1
+ FLAGS = \\(ROK\\)
+ RV = $ADDR
+ SV = PVMG\\($ADDR\\) at $ADDR
+ REFCNT = 2
+ FLAGS = \\(OBJECT,ROK\\)
+ IV = \d+
+ NV = \d+
+ RV = $ADDR
+ SV = NULL\\(0x0\\) at $ADDR
+ REFCNT = \d+
+ FLAGS = \\(READONLY\\)
+ PV = $ADDR ""
+ CUR = 0
+ LEN = 0
+ STASH = $ADDR\s+"Foobar"');