summaryrefslogtreecommitdiff
path: root/dump.c
diff options
context:
space:
mode:
authorReini Urban <rurban@x-ray.at>2008-06-24 14:07:01 +0200
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2008-06-24 14:35:11 +0000
commit7367e658df87ee1f29b1fa68bdefb1966bf4b5d9 (patch)
tree3f50f592c6c1a6663e8cc0743ac0a7cbee7846fd /dump.c
parentfa8d1836673cdd4f08959b2dc7d9145ed5db7c50 (diff)
downloadperl-7367e658df87ee1f29b1fa68bdefb1966bf4b5d9.tar.gz
fix debop with pad const
Message-ID: <4860C745.2020307@x-ray.at> p4raw-id: //depot/perl@34085
Diffstat (limited to 'dump.c')
-rw-r--r--dump.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/dump.c b/dump.c
index 29fb489c66..c556cecd60 100644
--- a/dump.c
+++ b/dump.c
@@ -2002,7 +2002,12 @@ Perl_debop(pTHX_ const OP *o)
switch (o->op_type) {
case OP_CONST:
case OP_HINTSEVAL:
- PerlIO_printf(Perl_debug_log, "(%s)", SvPEEK(cSVOPo_sv));
+ /* with ITHREADS, consts are stored in the pad, and the right pad
+ * may not be active here, so check.
+ * (((SVOP*)o)->op_sv ? ((SVOP*)o)->op_sv : ((my_perl->Icurpad)[(o)->op_targ]))
+ */
+ if (((SVOP*)o)->op_sv)
+ PerlIO_printf(Perl_debug_log, "(%s)", SvPEEK(cSVOPo_sv));
break;
case OP_GVSV:
case OP_GV: