Fix is_date() function failings in detection of correct date in case if time was not properly initialized. From: Mike Gorchak <mike.gorchak.qnx@xxxxxxxxx> Signed-off-by: Mike Gorchak <mike.gorchak.qnx@xxxxxxxxx> --- date.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/date.c b/date.c index 57331ed..ec758f4 100644 --- a/date.c +++ b/date.c @@ -357,6 +357,7 @@ static int is_date(int year, int month, int day, struct tm *now_tm, time_t now, if (month > 0 && month < 13 && day > 0 && day < 32) { struct tm check = *tm; struct tm *r = (now_tm ? &check : tm); + struct tm fixed_r; time_t specified; r->tm_mon = month - 1; @@ -377,7 +378,16 @@ static int is_date(int year, int month, int day, struct tm *now_tm, time_t now, if (!now_tm) return 1; - specified = tm_to_time_t(r); + /* Fix tm structure in case if time was not initialized */ + fixed_r = *r; + if (fixed_r.tm_hour==-1) + fixed_r.tm_hour=0; + if (fixed_r.tm_min==-1) + fixed_r.tm_min=0; + if (fixed_r.tm_sec==-1) + fixed_r.tm_sec=0; + + specified = tm_to_time_t(&fixed_r); /* Be it commit time or author time, it does not make * sense to specify timestamp way into the future. Make -- 1.8.2-rc0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html