From: Frédéric Buclin Date: Tue, 17 Feb 2015 20:26:38 +0000 (+0100) Subject: Bug 1112181: Relative dates in the future involving months are incorrectly converted X-Git-Tag: release-5.1.1~369 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f76caa9e3493c2df055bed736463659770c0798;p=thirdparty%2Fbugzilla.git Bug 1112181: Relative dates in the future involving months are incorrectly converted r=dylan a=glob --- diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index 80de76311d..d712d4bb66 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -34,7 +34,7 @@ use Date::Format; use Date::Parse; use Scalar::Util qw(blessed); use List::MoreUtils qw(all firstidx part uniq); -use POSIX qw(INT_MAX); +use POSIX qw(INT_MAX floor); use Storable qw(dclone); use Time::HiRes qw(gettimeofday tv_interval); @@ -2245,7 +2245,8 @@ sub SqlifyDate { } elsif ($unit eq 'm') { $month -= $amount; - while ($month<0) { $year--; $month += 12; } + $year += floor($month/12); + $month %= 12; if ($startof) { return sprintf("%4d-%02d-01 00:00:00", $year+1900, $month+1); }