From f6d1f6aa3238d9ec8798458bdd6f87691e81a11b Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin Date: Tue, 9 Jul 2013 17:30:02 +0800 Subject: [PATCH] Adjust the result of gmtime() to fit the definition --- Cryptlib/SysCall/TimerWrapper.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cryptlib/SysCall/TimerWrapper.c b/Cryptlib/SysCall/TimerWrapper.c index bb7bcba..cee72ba 100644 --- a/Cryptlib/SysCall/TimerWrapper.c +++ b/Cryptlib/SysCall/TimerWrapper.c @@ -146,14 +146,14 @@ struct tm * gmtime (const time_t *timer) GmTime->tm_yday = (int) DayNo; for (MonthNo = 12; MonthNo > 1; MonthNo--) { - if (DayNo > CumulativeDays[IsLeap(Year)][MonthNo]) { + if (DayNo >= CumulativeDays[IsLeap(Year)][MonthNo]) { DayNo = (UINT16) (DayNo - (UINT16) (CumulativeDays[IsLeap(Year)][MonthNo])); break; } } - GmTime->tm_mon = (int) MonthNo; - GmTime->tm_mday = (int) DayNo; + GmTime->tm_mon = (int) MonthNo - 1; + GmTime->tm_mday = (int) DayNo + 1; GmTime->tm_isdst = 0; GmTime->tm_gmtoff = 0;