diff options
author | David Mitchell <davem@iabyn.com> | 2010-10-03 22:28:28 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2010-10-03 22:29:52 +0100 |
commit | 2ba65d5fcc3ac0e8cf3fd24ff6b1082f772a8545 (patch) | |
tree | f8c17c9e7033ce692c03fb755caeec0d93738d51 /perl.c | |
parent | a5addb167c102dc5dcd1ab886caf0cb4f554eb05 (diff) | |
download | perl-2ba65d5fcc3ac0e8cf3fd24ff6b1082f772a8545.tar.gz |
eval_sv: followup fix to 4aca2f62ef
My original fix broke the 'goto redo_body' path. Not that
anything tests for this!
Diffstat (limited to 'perl.c')
-rw-r--r-- | perl.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -2710,10 +2710,11 @@ Perl_eval_sv(pTHX_ SV *sv, I32 flags) switch (ret) { case 0: redo_body: - assert(PL_op == (OP*)(&myop)); - PL_op = PL_ppaddr[OP_ENTEREVAL](aTHX); - if (!PL_op) - goto fail; /* failed in compilation */ + if (PL_op == (OP*)(&myop)) { + PL_op = PL_ppaddr[OP_ENTEREVAL](aTHX); + if (!PL_op) + goto fail; /* failed in compilation */ + } CALLRUNOPS(aTHX); retval = PL_stack_sp - (PL_stack_base + oldmark); if (!(flags & G_KEEPERR)) { |