summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2008-04-18 10:42:17 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2008-04-18 10:42:17 +0000
commitf6f3a1fea2bda9d33f9cc5367b630a21738c9def (patch)
treed113d69c2395fb2e70865ba53b0fd509fb2de441 /op.c
parent12e06b6fd7025de6faae2a6f788653cc97790444 (diff)
downloadperl-f6f3a1fea2bda9d33f9cc5367b630a21738c9def.tar.gz
Fix the line-number-in-elsif longstanding bug.
This patch does two things : - newSTATEOP now nullifies the state op it just created if OPf_SPECIAL is passed to it in flags - the parser now inserts a nullified stateop in the expression block of an elsif p4raw-id: //depot/perl@33710
Diffstat (limited to 'op.c')
-rw-r--r--op.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/op.c b/op.c
index ba9e2a5a9f..60c1b77a22 100644
--- a/op.c
+++ b/op.c
@@ -4419,6 +4419,8 @@ Perl_newSTATEOP(pTHX_ I32 flags, char *label, OP *o)
}
}
+ if (flags & OPf_SPECIAL)
+ op_null((OP*)cop);
return prepend_elem(OP_LINESEQ, (OP*)cop, o);
}