[PATCH] libc: fix daylight saving time handling

Carmelo AMOROSO carmelo.amoroso at st.com
Wed Oct 12 11:23:47 UTC 2011


On 11/10/2011 13.45, Richard Braun wrote:
> From: Guillaume Bourcier <guillaumebourcier at free.fr>
> 
> 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 at free.fr>
> Signed-off-by: Richard Braun <rbraun at sceen.net>
> ---
>  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

Applied,
thanks.

carmelo


More information about the uClibc mailing list