summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/perl.c b/perl.c
index 982b4309a2..9d2831c972 100644
--- a/perl.c
+++ b/perl.c
@@ -2641,7 +2641,6 @@ Perl_call_sv(pTHX_ SV *sv, VOL I32 flags)
}
Zero(&myop, 1, LOGOP);
- myop.op_next = NULL;
if (!(flags & G_NOARGS))
myop.op_flags |= OPf_STACKED;
myop.op_flags |= OP_GIMME_REVERSE(flags);
@@ -2660,11 +2659,11 @@ Perl_call_sv(pTHX_ SV *sv, VOL I32 flags)
* curstash may be meaningless. */
&& (SvTYPE(sv) != SVt_PVCV || CvSTASH((const CV *)sv) != PL_debstash)
&& !(flags & G_NODEBUG))
- PL_op->op_private |= OPpENTERSUB_DB;
+ myop.op_private |= OPpENTERSUB_DB;
if (flags & G_METHOD) {
Zero(&method_op, 1, UNOP);
- method_op.op_next = PL_op;
+ method_op.op_next = (OP*)&myop;
method_op.op_ppaddr = PL_ppaddr[OP_METHOD];
method_op.op_type = OP_METHOD;
myop.op_ppaddr = PL_ppaddr[OP_ENTERSUB];
@@ -2771,13 +2770,12 @@ Perl_eval_sv(pTHX_ SV *sv, I32 flags)
SAVEOP();
PL_op = (OP*)&myop;
- Zero(PL_op, 1, UNOP);
+ Zero(&myop, 1, UNOP);
EXTEND(PL_stack_sp, 1);
*++PL_stack_sp = sv;
if (!(flags & G_NOARGS))
myop.op_flags = OPf_STACKED;
- myop.op_next = NULL;
myop.op_type = OP_ENTEREVAL;
myop.op_flags |= OP_GIMME_REVERSE(flags);
if (flags & G_KEEPERR)