« Return to Thread: [PATCH] libc: fix daylight saving time handling

[PATCH] libc: fix daylight saving time handling

by Richard Braun-5 :: Rate this Message:

| View in Thread

From: Guillaume Bourcier <guillaumebourcier@...>

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@...>
Signed-off-by: Richard Braun <rbraun@...>
---
 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.2.5

_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

 « Return to Thread: [PATCH] libc: fix daylight saving time handling