diff options
author | Guillaume Bourcier <guillaumebourcier@free.fr> | 2011-10-11 13:45:33 +0200 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2011-10-12 13:28:18 +0200 |
commit | 733aeae80de66a6c443e4171dbefa8b266cb806a (patch) | |
tree | f2d75647baac8b820fb9ae610ffbf996707ce8a5 | |
parent | 9152c4d67c763fde5712e2d181d92c0d7e1e2ab9 (diff) | |
download | uClibc-alpine-733aeae80de66a6c443e4171dbefa8b266cb806a.tar.bz2 uClibc-alpine-733aeae80de66a6c443e4171dbefa8b266cb806a.tar.xz |
libc: fix daylight saving time handling
The algorithm computing daylight saving time incorrectly adds a day for
each month after January for leap years. The clock shift from/to DST can
be delayed if the last Sunday of a transition month is exactly seven
days before the first of the following month.
This change adds a day for the February month only.
Signed-off-by: Guillaume Bourcier <guillaumebourcier@free.fr>
Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r-- | libc/misc/time/time.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c index 19d68e105..8e2ebf12e 100644 --- a/libc/misc/time/time.c +++ b/libc/misc/time/time.c @@ -689,7 +689,7 @@ static int tm_isdst(register const struct tm *__restrict ptm, ++day; } monlen = 31 + day_cor[r->month -1] - day_cor[r->month]; - if (isleap && (r->month > 1)) { + if (isleap && (r->month == 2)) { ++monlen; } /* Wweekday (0 is Sunday) of 1st of the month |