summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorArtur Bergman <sky@nanisky.com>2003-02-02 23:46:24 +0000
committerArtur Bergman <sky@nanisky.com>2003-02-02 23:46:24 +0000
commit330e22d5036b4b1f7e7b4336c48c776a45e1f14f (patch)
treee640683059c9f231c6d34b7cdd6235f879556e45 /op.c
parent3848b9623cf7b0bd4a28a02073a51953b168b7a6 (diff)
downloadperl-330e22d5036b4b1f7e7b4336c48c776a45e1f14f.tar.gz
In any case, never copy this but use the same SV since
if we copy we loose the hash we so badly need. For op_const we might still need to copy however. p4raw-id: //depot/perl@18641
Diffstat (limited to 'op.c')
-rw-r--r--op.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/op.c b/op.c
index 610c0e5a22..abd9417ec4 100644
--- a/op.c
+++ b/op.c
@@ -6086,7 +6086,7 @@ Perl_peep(pTHX_ register OP *o)
* for reference counts, sv_upgrade() etc. */
if (cSVOP->op_sv) {
PADOFFSET ix = pad_alloc(OP_CONST, SVs_PADTMP);
- if (SvPADTMP(cSVOPo->op_sv)) {
+ if (o->op_type == OP_CONST && SvPADTMP(cSVOPo->op_sv)) {
/* If op_sv is already a PADTMP then it is being used by
* some pad, so make a copy. */
sv_setsv(PAD_SVl(ix),cSVOPo->op_sv);