Sourceware Bugzilla – Attachment 7207 Details for
Bug 15968
support for version-3 format tz binary files
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Support TZ transition times < 00:00:00.
0004-Support-TZ-transition-times-00-00-00.patch (text/plain), 3.80 KB, created by
Paul Eggert
on 2013-09-18 20:26:04 UTC
(
hide
)
Description:
Support TZ transition times < 00:00:00.
Filename:
MIME Type:
Creator:
Paul Eggert
Created:
2013-09-18 20:26:04 UTC
Size:
3.80 KB
patch
obsolete
>From 9d3f321e8b3a307ea8b1574a78420e82b6be46df Mon Sep 17 00:00:00 2001 >From: Paul Eggert <eggert@cs.ucla.edu> >Date: Wed, 18 Sep 2013 13:15:12 -0700 >Subject: [PATCH 4/4] Support TZ transition times < 00:00:00. > >This is needed for version-3 tz-format files; it supports time >stamps past 2037 for America/Godthab (the only entry in the tz >database for which this change is relevant). >* manual/time.texi (TZ Variable): Document transition times >from -167:59:59 through -00:00:01. >* time/tzset.c (tz_rule): Time of day is now signed. >(__tzset_parse_tz): Parse negative time of day. >--- > ChangeLog | 9 +++++++++ > manual/time.texi | 12 +++++++++++- > time/tzset.c | 7 +++++-- > 3 files changed, 25 insertions(+), 3 deletions(-) > >diff --git a/ChangeLog b/ChangeLog >index 9b54d09..213f915 100644 >--- a/ChangeLog >+++ b/ChangeLog >@@ -1,5 +1,14 @@ > 2013-09-18 Paul Eggert <eggert@cs.ucla.edu> > >+ Support TZ transition times < 00:00:00. >+ This is needed for version-3 tz-format files; it supports time >+ stamps past 2037 for America/Godthab (the only entry in the tz >+ database for which this change is relevant). >+ * manual/time.texi (TZ Variable): Document transition times >+ from -167:59:59 through -00:00:01. >+ * time/tzset.c (tz_rule): Time of day is now signed. >+ (__tzset_parse_tz): Parse negative time of day. >+ > Document TZ transition times >= 25:00:00. > * manual/time.texi (TZ Variable): Document transition times from > 25:00:00 through 167:59:59. These are already supported, and this >diff --git a/manual/time.texi b/manual/time.texi >index 4768156..32cb306 100644 >--- a/manual/time.texi >+++ b/manual/time.texi >@@ -2083,7 +2083,7 @@ between @code{1} and @code{12}. > The @var{time} fields specify when, in the local time currently in > effect, the change to the other time occurs. If omitted, the default is > @code{02:00:00}. The hours part of the time fields can range from >-0 through 167; this is an extension to POSIX.1, which allows >+@minus{}167 through 167; this is an extension to POSIX.1, which allows > only the range 0 through 24. > > Here are some example @code{TZ} values, including the appropriate >@@ -2119,6 +2119,16 @@ is a placeholder. > WART4WARST,J1/0,J365/25 > @end smallexample > >+Western Greenland Time (WGT) and Western Greenland Summer Time (WGST) >+are 3 hours behind UTC in the winter. Its clocks follow the European >+Union rules of springing forward by one hour on March's last Sunday at >+01:00 UTC (@minus{}02:00 local time) and falling back on October's >+last Sunday at 01:00 UTC (@minus{}01:00 local time). >+ >+@smallexample >+WGT3WGST,M3.5.0/-2,M10.5.0/-1 >+@end smallexample >+ > The schedule of Daylight Saving Time in any particular jurisdiction has > changed over the years. To be strictly correct, the conversion of dates > and times in the past should be based on the schedule that was in effect >diff --git a/time/tzset.c b/time/tzset.c >index 4f8af8d..fb2dccd 100644 >--- a/time/tzset.c >+++ b/time/tzset.c >@@ -54,7 +54,7 @@ typedef struct > /* When to change. */ > enum { J0, J1, M } type; /* Interpretation of: */ > unsigned short int m, n, d; /* Month, week, day. */ >- unsigned int secs; /* Time of day. */ >+ int secs; /* Time of day. */ > > long int offset; /* Seconds east of GMT (west if < 0). */ > >@@ -362,9 +362,12 @@ __tzset_parse_tz (tz) > else if (*tz == '/') > { > /* Get the time of day of the change. */ >+ int negative; > ++tz; > if (*tz == '\0') > goto out; >+ negative = *tz == '-'; >+ tz += negative; > consumed = 0; > switch (sscanf (tz, "%hu%n:%hu%n:%hu%n", > &hh, &consumed, &mm, &consumed, &ss, &consumed)) >@@ -379,7 +382,7 @@ __tzset_parse_tz (tz) > break; > } > tz += consumed; >- tzr->secs = (hh * 60 * 60) + (mm * 60) + ss; >+ tzr->secs = (negative ? -1 : 1) * ((hh * 60 * 60) + (mm * 60) + ss); > } > else > /* Default to 2:00 AM. */ >-- >1.8.3.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 15968
:
7204
|
7205
|
7206
| 7207