Change 18264 by rgs@rgs-home on 2002/12/08 22:04:39
Subject: Re: [perl #18165] "0" fails as right-hand argument to ..
From: Slaven Rezic <[EMAIL PROTECTED]>
Date: 30 Nov 2002 00:07:05 +0100
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
.... //depot/perl/pp_ctl.c#329 edit
.... //depot/perl/t/cmd/for.t#8 edit
Differences ...
==== //depot/perl/pp_ctl.c#329 (text) ====
Index: perl/pp_ctl.c
--- perl/pp_ctl.c#328~18220~ Sun Dec 1 16:58:54 2002
+++ perl/pp_ctl.c Sun Dec 8 14:04:39 2002
@@ -1690,11 +1690,11 @@
cx->blk_loop.iterary = (AV*)SvREFCNT_inc(POPs);
if (SvTYPE(cx->blk_loop.iterary) != SVt_PVAV) {
dPOPss;
+ /* See comment in pp_flop() */
if (SvNIOKp(sv) || !SvPOKp(sv) ||
SvNIOKp(cx->blk_loop.iterary) || !SvPOKp(cx->blk_loop.iterary) ||
(looks_like_number(sv) && *SvPVX(sv) != '0' &&
- looks_like_number((SV*)cx->blk_loop.iterary) &&
- *SvPVX(cx->blk_loop.iterary) != '0'))
+ looks_like_number((SV*)cx->blk_loop.iterary)))
{
if (SvNV(sv) < IV_MIN ||
SvNV((SV*)cx->blk_loop.iterary) >= IV_MAX)
==== //depot/perl/t/cmd/for.t#8 (xtext) ====
Index: perl/t/cmd/for.t
--- perl/t/cmd/for.t#7~10069~ Thu May 10 05:24:06 2001
+++ perl/t/cmd/for.t Sun Dec 8 14:04:39 2002
@@ -1,6 +1,6 @@
#!./perl
-print "1..11\n";
+print "1..12\n";
for ($i = 0; $i <= 10; $i++) {
$x[$i] = $i;
@@ -66,3 +66,8 @@
}
print $a == 7 ? "ok" : "not ok", " 11\n";
+$loop_count = 0;
+for ("-3" .. "0") {
+ $loop_count++;
+}
+print $loop_count == 4 ? "ok" : "not ok", " 12\n";
End of Patch.