summaryrefslogtreecommitdiff
path: root/dump.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2009-08-16 16:19:04 +0100
committerDavid Mitchell <davem@iabyn.com>2009-08-16 16:19:04 +0100
commit5115136b5ada1a3245a69b04d93664e445e85eb1 (patch)
treedec0d3a03747c6a8993742f0a105f68648becb95 /dump.c
parent54c717c31383ee341b51465df1a84524ff7245b5 (diff)
downloadperl-5115136b5ada1a3245a69b04d93664e445e85eb1.tar.gz
sv_peek(): SvOOK offset is no longer in IVX
Diffstat (limited to 'dump.c')
-rw-r--r--dump.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/dump.c b/dump.c
index af735b5e4a..e7f5a1df01 100644
--- a/dump.c
+++ b/dump.c
@@ -505,8 +505,11 @@ Perl_sv_peek(pTHX_ SV *sv)
else {
SV * const tmp = newSVpvs("");
sv_catpv(t, "(");
- if (SvOOK(sv))
- Perl_sv_catpvf(aTHX_ t, "[%s]", pv_display(tmp, SvPVX_const(sv)-SvIVX(sv), SvIVX(sv), 0, 127));
+ if (SvOOK(sv)) {
+ STRLEN delta;
+ SvOOK_offset(sv, delta);
+ Perl_sv_catpvf(aTHX_ t, "[%s]", pv_display(tmp, SvPVX_const(sv)-delta, delta, 0, 127));
+ }
Perl_sv_catpvf(aTHX_ t, "%s)", pv_display(tmp, SvPVX_const(sv), SvCUR(sv), SvLEN(sv), 127));
if (SvUTF8(sv))
Perl_sv_catpvf(aTHX_ t, " [UTF8 \"%s\"]",