summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-12-27 21:29:04 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-12-27 21:29:04 +0000
commitb0e74086c793b91e11f2cb4f6e6cda6343532701 (patch)
tree823134472b1145758bb4b4686fd324ad7731ba09 /pp_ctl.c
parent5bbd4290dc068a04b65fb118bd01be1ae58c7454 (diff)
downloadperl-b0e74086c793b91e11f2cb4f6e6cda6343532701.tar.gz
Fix bug [perl #24735] : make sure that the range (..) operator
treats an undefined argument as 0 for numerical ranges and as "" for magical string ranges. p4raw-id: //depot/perl@21983
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index ab4ab84c3c..ec79e24936 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1036,9 +1036,9 @@ PP(pp_flip)
an exception for .."0" [#18165]). AMS 20021031. */
#define RANGE_IS_NUMERIC(left,right) ( \
- SvNIOKp(left) || !SvPOKp(left) || \
- SvNIOKp(right) || !SvPOKp(right) || \
- (looks_like_number(left) && *SvPVX(left) != '0' && \
+ SvNIOKp(left) || (SvOK(left) && !SvPOKp(left)) || \
+ SvNIOKp(right) || (SvOK(right) && !SvPOKp(right)) || \
+ (looks_like_number(left) && SvPOKp(left) && *SvPVX(left) != '0' && \
looks_like_number(right)))
PP(pp_flop)