From b64fc63bd1aba3c7b855d5abf264425f44e3cd4c Mon Sep 17 00:00:00 2001 From: Marc Brockschmidt Date: Mon, 1 Mar 2010 08:33:31 +0000 Subject: [PATCH] Unbreak parse_date() for new date format --- bin/WannaBuild.pm | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/bin/WannaBuild.pm b/bin/WannaBuild.pm index 300eb12..d9433e2 100644 --- a/bin/WannaBuild.pm +++ b/bin/WannaBuild.pm @@ -181,18 +181,26 @@ sub parse_date { my $text = shift; return 0 if !$text; - die "Cannot parse date: $text\n" - if $text !~ /^(\d{4}) (\w{3}) (\d+) (\d{2}):(\d{2}):(\d{2})$/; - my ($year, $mon, $day, $hour, $min, $sec) = ($1, $2, $3, $4, $5, $6); - $mon =~ y/A-Z/a-z/; - die "Invalid month name $mon" if !exists $monname{$mon}; - $mon = $monname{$mon}; - return timegm($sec, $min, $hour, $day, $mon, $year); + + if ($text =~ /^(\d{4}) (\w{3}) (\d+) (\d{2}):(\d{2}):(\d{2})$/) { + my ($year, $mon, $day, $hour, $min, $sec) = ($1, $2, $3, $4, $5, $6); + $mon =~ y/A-Z/a-z/; + die "Invalid month name $mon" if !exists $monname{$mon}; + $mon = $monname{$mon}; + return timegm($sec, $min, $hour, $day, $mon, $year); + } elsif ($text =~ /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(?:\.\d+)?$/) { + my ($year, $mon, $day, $hour, $min, $sec) = ($1, $2-1, $3, $4, $5, $6); + return timegm($sec, $min, $hour, $day, $mon, $year); + } else { + die "Cannot parse date: $text\n"; + } } sub isin { my $val = shift; + return 0 if !$val; + return grep( $_ eq $val, @_ ); } -- 2.39.5