Re: [perl #46011] [RESOLVED] overload "0+" doesn't handle integer results
[p5sagit/p5-mst-13.2.git] / lib / Time / Local.pm
index 7347244..d7fe023 100644 (file)
@@ -7,7 +7,7 @@ use strict;
 use integer;
 
 use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK );
-$VERSION   = '1.15';
+$VERSION   = '1.17';
 
 @ISA       = qw( Exporter );
 @EXPORT    = qw( timegm timelocal );
@@ -91,9 +91,6 @@ sub _timegm {
 sub timegm {
     my ( $sec, $min, $hour, $mday, $month, $year ) = @_;
 
-    # Need to check leap year before altering the value
-    my $leap_year = _is_leap_year($year)
-
     if ( $year >= 1000 ) {
         $year -= 1900;
     }
@@ -114,7 +111,7 @@ sub timegm {
 
        my $md = $MonthDays[$month];
         ++$md
-            if $month == 1 && $leap_year;
+            if $month == 1 && _is_leap_year( $year + 1900 );
 
         croak "Day '$mday' out of range 1..$md"  if $mday > $md or $mday < 1;
         croak "Hour '$hour' out of range 0..23"  if $hour > 23  or $hour < 0;