From: Frédéric Buclin Date: Tue, 17 Feb 2015 20:30:05 +0000 (+0100) Subject: Bug 1112181: Relative dates in the future involving months are incorrectly converted X-Git-Tag: bugzilla-4.4.9~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24b471d6edd1e124dbaf860cf6ce2beada20359a;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 eaab6002e6..acf458e8b6 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -31,7 +31,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); @@ -2129,7 +2129,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); }