summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2008-01-24 13:25:05 +0000
committerNicholas Clark <nick@ccl4.org>2008-01-24 13:25:05 +0000
commitc25bf6989edf21dd302c4e306179cfffbc11bb5f (patch)
tree25d041060e081377bb256454dcd055d22feb2bfb /pp_ctl.c
parentc6fdafd0fef3b735d3a7b9441840698d27fe4e6b (diff)
downloadperl-c25bf6989edf21dd302c4e306179cfffbc11bb5f.tar.gz
Merge CXt_LOOP_STACK's use of itermax for the reverse minimum with
iterary, as the two structure members are not used simultaneously. p4raw-id: //depot/perl@33062
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 7968eb971e..baacd41b37 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1881,10 +1881,10 @@ PP(pp_enteriter)
PUSHLOOP_FOR(cx, svp, MARK);
#endif
if (PL_op->op_flags & OPf_STACKED) {
- cx->blk_loop.iterary = (AV*)SvREFCNT_inc(POPs);
- if (SvTYPE(cx->blk_loop.iterary) != SVt_PVAV) {
+ cx->blk_loop.ary_min_u.iterary = (AV*)SvREFCNT_inc(POPs);
+ if (SvTYPE(cx->blk_loop.ary_min_u.iterary) != SVt_PVAV) {
dPOPss;
- SV * const right = (SV*)cx->blk_loop.iterary;
+ SV * const right = (SV*)cx->blk_loop.ary_min_u.iterary;
SvGETMAGIC(sv);
SvGETMAGIC(right);
if (RANGE_IS_NUMERIC(sv,right)) {
@@ -1927,14 +1927,13 @@ PP(pp_enteriter)
}
else if (PL_op->op_private & OPpITER_REVERSED) {
cx->blk_loop.itermax = 0xDEADBEEF;
- cx->blk_loop.iterix = AvFILL(cx->blk_loop.iterary) + 1;
+ cx->blk_loop.iterix = AvFILL(cx->blk_loop.ary_min_u.iterary) + 1;
}
}
else {
- cx->blk_loop.iterary = (AV*)0xDEADBEEF;
if (PL_op->op_private & OPpITER_REVERSED) {
- cx->blk_loop.itermax = MARK - PL_stack_base + 1;
+ cx->blk_loop.ary_min_u.itermin = MARK - PL_stack_base + 1;
cx->blk_loop.iterix = cx->blk_oldsp + 1;
}
else {