From b9f1922d7e7d67e8559664b266b2a6b35121d6af Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Wed, 9 May 2012 06:13:29 +0200 Subject: Fix daylight time change for the US [BZ #14080] * time/tzset.c (__tzset_parse_tz): Update default rules for daylight time changes in the Energy Policy Act of 2005. --- ChangeLog | 6 ++++++ NEWS | 2 +- time/tzset.c | 18 ++++++++++++------ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3a1eb32fa4..81d17c9ab5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-05-08 Ian Wienand + + [BZ #14080] + * time/tzset.c (__tzset_parse_tz): Update default rules for + daylight time changes in the Energy Policy Act of 2005. + 2012-05-09 Andreas Jaeger [BZ #13983] diff --git a/NEWS b/NEWS index 18f63c5bfb..ca1f7535cc 100644 --- a/NEWS +++ b/NEWS @@ -24,7 +24,7 @@ Version 2.16 13895, 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13963, 13967, 13970, 13973, 13979, 13983, 14027, - 14033, 14034, 14040, 14049, 14055, 14064 + 14033, 14034, 14040, 14049, 14055, 14064, 14080 * ISO C11 support: diff --git a/time/tzset.c b/time/tzset.c index a2d29721a3..5704437d23 100644 --- a/time/tzset.c +++ b/time/tzset.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2002,2003,2004,2007,2009 Free Software Foundation, Inc. +/* Copyright (C) 1991-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -333,18 +333,24 @@ __tzset_parse_tz (tz) } else if (*tz == '\0') { - /* United States Federal Law, the equivalent of "M4.1.0,M10.5.0". */ + /* Daylight time rules in the U.S. are defined in the + U.S. Code, Title 15, Chapter 6, Subchapter IX - Standard + Time. These dates were established by Congress in the + Energy Policy Act of 2005 [Pub. L. no. 109-58, 119 Stat 594 + (2005)]. + Below is the equivalent of "M3.2.0,M11.1.0" [/2 not needed + since 2:00AM is the default]. */ tzr->type = M; if (tzr == &tz_rules[0]) { - tzr->m = 4; - tzr->n = 1; + tzr->m = 3; + tzr->n = 2; tzr->d = 0; } else { - tzr->m = 10; - tzr->n = 5; + tzr->m = 11; + tzr->n = 1; tzr->d = 0; } } -- cgit 1.4.1