summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorVincent Pit <perl@profvince.com>2011-06-27 09:37:30 +0200
committerVincent Pit <perl@profvince.com>2011-06-27 09:37:33 +0200
commitb1b5a4ae28189de4ce324e4b00842813774490c0 (patch)
tree4092ddd61c59f5bbb6ec6a122cd4f3caed94a08d /pp_ctl.c
parent0787ea8aaa88d48f432536f8d8f6658fe8ba47ed (diff)
downloadperl-b1b5a4ae28189de4ce324e4b00842813774490c0.tar.gz
In leavewhen, put the SP back when returning
It may have changed in adjust_stack_on_leave() if the stack needed to be extended.
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index c442d0bf7e..c5cf973df4 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -4998,8 +4998,7 @@ PP(pp_leavewhen)
return cx->blk_loop.my_op->op_nextop;
}
else
- /* RETURNOP calls PUTBACK which restores the old old sp */
- return cx->blk_givwhen.leave_op;
+ RETURNOP(cx->blk_givwhen.leave_op);
}
PP(pp_continue)