Module Name: src Committed By: christos Date: Tue Mar 24 20:01:18 UTC 2015
Modified Files: src/lib/libc/time: Makefile NEWS Theory localtime.c private.h Log Message: merge 2015b To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/lib/libc/time/Makefile cvs rdiff -u -r1.9 -r1.10 src/lib/libc/time/NEWS cvs rdiff -u -r1.16 -r1.17 src/lib/libc/time/Theory cvs rdiff -u -r1.93 -r1.94 src/lib/libc/time/localtime.c cvs rdiff -u -r1.38 -r1.39 src/lib/libc/time/private.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/time/Makefile diff -u src/lib/libc/time/Makefile:1.26 src/lib/libc/time/Makefile:1.27 --- src/lib/libc/time/Makefile:1.26 Sat Jan 31 13:55:17 2015 +++ src/lib/libc/time/Makefile Tue Mar 24 16:01:18 2015 @@ -5,7 +5,7 @@ PACKAGE= tzcode # Version numbers of the code and data distributions. -VERSION= 2015a +VERSION= 2015b # Email address for bug reports. BUGEMAIL= t...@iana.org @@ -486,8 +486,7 @@ check_character_set: $(ENCHILADA) check_white_space: $(ENCHILADA) ! grep -En ' '$(TAB_CHAR)"|$$(printf '[\f\r\v]')" $(ENCHILADA) - ! grep -n '[[:space:]]$$' \ - $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list) + ! grep -n '[[:space:]]$$' $(ENCHILADA) CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } Index: src/lib/libc/time/NEWS diff -u src/lib/libc/time/NEWS:1.9 src/lib/libc/time/NEWS:1.10 --- src/lib/libc/time/NEWS:1.9 Sat Jan 31 13:55:17 2015 +++ src/lib/libc/time/NEWS Tue Mar 24 16:01:18 2015 @@ -1,5 +1,53 @@ News for the tz database +Release 2015b - 2015-03-19 23:28:11 -0700 + + Changes affecting future time stamps + + Mongolia will start observing DST again this year, from the last + Saturday in March at 02:00 to the last Saturday in September at 00:00. + (Thanks to Ganbold Tsagaankhuu.) + + Palestine will start DST on March 28, not March 27. Also, + correct the fall 2014 transition from September 26 to October 24. + Adjust future predictions accordingly. (Thanks to Steffen Thorsen.) + + Changes affecting past time stamps + + The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a + regression. (Thanks to Stuart Bishop for reporting the problem.) + + Some more zones have been turned into links, when they differed + from existing zones only for older time stamps. As usual, + these changes affect UTC offsets in pre-1970 time stamps only. + Their old contents have been moved to the 'backzone' file. + The affected zones are: America/Antigua, America/Cayman, + Pacific/Midway, and Pacific/Saipan. + + Changes affecting time zone abbreviations + + Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD". + (Thanks to Hank W.) + + Changes affecting code + + Fix integer overflow bug in reference 'mktime' implementation. + (Problem reported by Jörg Richter.) + + Allow -Dtime_tz=time_t compilations, and allow -Dtime_tz=... libraries + to be used in the same executable as standard-library time_t functions. + (Problems reported by Bradley White.) + + Changes affecting commentary + + Cite the recent Mexican decree changing Quintana Roo's time zone. + (Thanks to Carlos Raúl Perasso.) + + Likewise for the recent Chilean decree. (Thanks to Eduardo Romero Urra.) + + Update info about Mars time. + + Release 2015a - 2015-01-29 22:35:20 -0800 Changes affecting future time stamps Index: src/lib/libc/time/Theory diff -u src/lib/libc/time/Theory:1.16 src/lib/libc/time/Theory:1.17 --- src/lib/libc/time/Theory:1.16 Tue Oct 7 17:51:03 2014 +++ src/lib/libc/time/Theory Tue Mar 24 16:01:18 2015 @@ -717,9 +717,11 @@ Mittelalters und der Neuzeit_, herausgeg ----- Time and time zones on Mars ----- -Some people have adjusted their work schedules to fit Mars time. -Dozens of special Mars watches were built for Jet Propulsion -Laboratory workers who kept Mars time during the Mars Exploration +Some people's work schedules use Mars time. Jet Propulsion Laboratory +(JPL) coordinators have kept Mars time on and off at least since 1997 +for the Mars Pathfinder mission. Some of their family members have +also adapted to Mars time. Dozens of special Mars watches were built +for JPL workers who kept Mars time during the Mars Exploration Rovers mission (2004). These timepieces look like normal Seikos and Citizens but use Mars seconds rather than terrestrial seconds. @@ -760,6 +762,8 @@ Jia-Rui Chong, "Workdays Fit for a Marti <http://articles.latimes.com/2004/jan/14/science/sci-marstime14> (2004-01-14), pp A1, A20-A21. +Tom Chmielewski, "Jet Lag Is Worse on Mars", The Atlantic (2015-02-26) +<http://www.theatlantic.com/technology/archive/2015/02/jet-lag-is-worse-on-mars/386033/> ----- Local Variables: Index: src/lib/libc/time/localtime.c diff -u src/lib/libc/time/localtime.c:1.93 src/lib/libc/time/localtime.c:1.94 --- src/lib/libc/time/localtime.c:1.93 Sat Jan 31 13:55:17 2015 +++ src/lib/libc/time/localtime.c Tue Mar 24 16:01:18 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: localtime.c,v 1.93 2015/01/31 18:55:17 christos Exp $ */ +/* $NetBSD: localtime.c,v 1.94 2015/03/24 20:01:18 christos Exp $ */ /* ** This file is in the public domain, so clarified as of @@ -10,7 +10,7 @@ #if 0 static char elsieid[] = "@(#)localtime.c 8.17"; #else -__RCSID("$NetBSD: localtime.c,v 1.93 2015/01/31 18:55:17 christos Exp $"); +__RCSID("$NetBSD: localtime.c,v 1.94 2015/03/24 20:01:18 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -1914,16 +1914,8 @@ again: /* ** Do a binary search (this works whatever time_t's type is). */ - /* LINTED const not */ - if (!TYPE_SIGNED(time_t)) { - lo = 0; - hi = lo - 1; - } else { - lo = 1; - for (i = 0; i < (int) TYPE_BIT(time_t) - 1; ++i) - lo *= 2; - hi = -(lo + 1); - } + lo = time_t_min; + hi = time_t_max; #ifdef NO_ERROR_IN_DST_GAP ilo = lo; #endif Index: src/lib/libc/time/private.h diff -u src/lib/libc/time/private.h:1.38 src/lib/libc/time/private.h:1.39 --- src/lib/libc/time/private.h:1.38 Thu Oct 23 14:45:58 2014 +++ src/lib/libc/time/private.h Tue Mar 24 16:01:18 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: private.h,v 1.38 2014/10/23 18:45:58 christos Exp $ */ +/* $NetBSD: private.h,v 1.39 2015/03/24 20:01:18 christos Exp $ */ #ifndef PRIVATE_H #define PRIVATE_H @@ -324,6 +324,8 @@ typedef unsigned long uintmax_t; static time_t sys_time(time_t *x) { return time(x); } # endif +typedef time_tz tz_time_t; + # undef ctime # define ctime tz_ctime # undef ctime_r @@ -338,16 +340,24 @@ static time_t sys_time(time_t *x) { retu # define localtime tz_localtime # undef localtime_r # define localtime_r tz_localtime_r +# undef localtime_rz +# define localtime_rz tz_localtime_rz # undef mktime # define mktime tz_mktime +# undef mktime_z +# define mktime_z tz_mktime_z # undef offtime # define offtime tz_offtime # undef posix2time # define posix2time tz_posix2time +# undef posix2time_z +# define posix2time_z tz_posix2time_z # undef time # define time tz_time # undef time2posix # define time2posix tz_time2posix +# undef time2posix_z +# define time2posix_z tz_time2posix_z # undef time_t # define time_t tz_time_t # undef timegm @@ -356,8 +366,14 @@ static time_t sys_time(time_t *x) { retu # define timelocal tz_timelocal # undef timeoff # define timeoff tz_timeoff - -typedef time_tz time_t; +# undef tzalloc +# define tzalloc tz_tzalloc +# undef tzfree +# define tzfree tz_tzfree +# undef tzset +# define tzset tz_tzset +# undef tzsetwall +# define tzsetwall tz_tzsetwall char *ctime(time_t const *); char *ctime_r(time_t const *, char *); @@ -368,6 +384,7 @@ struct tm *localtime(time_t const *); struct tm *localtime_r(time_t const *restrict, struct tm *restrict); time_t mktime(struct tm *); time_t time(time_t *); +void tzset(void); #endif /* @@ -386,7 +403,7 @@ extern char * asctime_r(struct tm const */ #ifdef STD_INSPIRED -# if !defined tzsetwall +# if !defined tzsetwall || defined time_tz void tzsetwall(void); # endif # if !defined offtime || defined time_tz