date.c: fix unsigned time_t comparison

tm_to_time_t() returns (time_t)-1 when it sees an error. On platforms with unsigned time_t, this value will be larger than any valid timestamp and will break the "Is this older than 10 days in the future?" check. Signed-off-by: Mike Gorchak <mike.gorchak.qnx@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Mike Gorchak committed Feb 25, 2013 at 23:51 UTC e6e87516f569c2344f760287aec66f70da856c6d
1 file changed +1 -1
date.c
+1 -1
@@ -383,7 +383,7 @@ static int is_date(int year, int month, int day, struct tm *now_tm, time_t now,
383 * sense to specify timestamp way into the future. Make
384 * sure it is not later than ten days from now...
385 */
386 - if (now + 10*24*3600 < specified)
386 + if ((specified != -1) && (now + 10*24*3600 < specified))
387 return 0;
388 tm->tm_mon = r->tm_mon;
389 tm->tm_mday = r->tm_mday;