This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
warnings.pl: Silence perl compiler warnings
authorKarl Williamson <khw@khw-desktop.(none)>
Sat, 24 Jul 2010 16:46:45 +0000 (10:46 -0600)
committerRafael Garcia-Suarez <rgs@consttype.org>
Mon, 26 Jul 2010 07:29:18 +0000 (09:29 +0200)
warnings.pl was trying to read two beyond the end of an array.

warnings.pl

index ea6e144..e57ed1f 100644 (file)
@@ -168,13 +168,13 @@ sub mkRange
 {
     my @a = @_ ;
     my @out = @a ;
-    my $i ;
 
-
-    for ($i = 1 ; $i < @a; ++ $i) {
+    for my $i (1 .. @a - 1) {
        $out[$i] = ".."
-          if $a[$i] == $a[$i - 1] + 1 && $a[$i] + 1 == $a[$i + 1] ;
+          if $a[$i] == $a[$i - 1] + 1
+             && ($i >= @a  - 1 || $a[$i] + 1 == $a[$i + 1] );
     }
+    $out[-1] = $a[-1] if $out[-1] eq "..";
 
     my $out = join(",",@out);