| From 47f3da1cf49377c25772bb54d07db55225bbb142 Mon Sep 17 00:00:00 2001 |
| From: Guillaume Bourcier <guillaumebourcier@free.fr> |
| Date: Tue, 11 Oct 2011 13:45:33 +0200 |
| Subject: [PATCH] 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: Gustavo Zacarias <gustavo@zacarias.com.ar> |
| --- |
| 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 19d68e1..8e2ebf1 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 |
| -- |
| 1.7.3.4 |
| |