From b9fcbfc34489856a06554c0a3c453ad60e20cecd Mon Sep 17 00:00:00 2001 From: "bernard.xiong@gmail.com" Date: Thu, 29 Jul 2010 21:02:50 +0000 Subject: [PATCH] fix timegm function issue. git-svn-id: https://rt-thread.googlecode.com/svn/trunk@817 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- components/libc/minilibc/time.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/libc/minilibc/time.c b/components/libc/minilibc/time.c index 4c39c3c25..a00e54580 100644 --- a/components/libc/minilibc/time.c +++ b/components/libc/minilibc/time.c @@ -80,11 +80,10 @@ time_t timegm(struct tm *const t) { if (t->tm_sec>60) { t->tm_min += t->tm_sec/60; t->tm_sec%=60; } if (t->tm_min>60) { t->tm_hour += t->tm_min/60; t->tm_min%=60; } - if (t->tm_hour>60) { t->tm_mday += t->tm_hour/60; t->tm_hour%=60; } + if (t->tm_hour>24) { t->tm_mday += t->tm_hour/24; t->tm_hour%=24; } if (t->tm_mon>12) { t->tm_year += t->tm_mon/12; t->tm_mon%=12; } while (t->tm_mday>__spm[1+t->tm_mon]) { if (t->tm_mon==1 && __isleap(t->tm_year+1900)) { - if (t->tm_mon==31+29) break; --t->tm_mday; } t->tm_mday-=__spm[t->tm_mon]; -- GitLab