Module Name: src Committed By: christos Date: Fri Oct 19 23:05:35 UTC 2018
Modified Files: src/lib/libc/time: CONTRIBUTING Makefile NEWS README ctime.3 difftime.c localtime.c private.h strftime.3 strftime.c theory.html tz-art.html tz-how-to.html tz-link.html tzfile.5 tzselect.8 tzselect.ksh tzset.3 version zdump.8 zdump.c zic.8 Log Message: Update to 2018f: Changes to code zic now always generates TZif files where time type 0 is used for timestamps before the first transition. This simplifies the reading of TZif files and should not affect behavior of existing TZif readers because the same set of time types is used; only their internal indexes may have changed. This affects only the legacy zones EST5EDT, CST6CDT, MST7MDT, PST8PDT, CET, MET, and EET, which previously used nonzero types for these timestamps. Because of the type 0 change, zic no longer outputs a dummy transition at time -2**59 (before the Big Bang), as clients should no longer need this to handle historical timestamps correctly. This reverts a change introduced in 2013d and shrinks most TZif files by a few bytes. zic now supports negative time-of-day in Rule and Leap lines, e.g., "Rule X min max - Apr lastSun -6:00 1:00 -" means the transition occurs at 18:00 on the Saturday before the last Sunday in April. This behavior was documented in 2018a but the code did not entirely match the documentation. localtime.c no longer requires at least one time type in TZif files that lack transitions or have a POSIX-style TZ string. This future-proofs the code against possible future extensions to the format that would allow TZif files with POSIX-style TZ strings and without transitions or time types. A read-access subscript error in localtime.c has been fixed. It could occur only in TZif files with timecnt == 0, something that does not happen in practice now but could happen in future versions. localtime.c no longer ignores TZif POSIX-style TZ strings that specify only standard time. Instead, these TZ strings now override the default time type for timestamps after the last transition (or for all time stamps if there are no transitions), just as DST strings specifying DST have always done. leapseconds.awk now outputs "#updated" and "#expires" comments, and supports leap seconds at the ends of months other than June and December. (Inspired by suggestions from Chris Woodbury.) Changes to documentation New restrictions: A Rule name must start with a character that is neither an ASCII digit nor "-" nor "+", and an unquoted name should not use characters in the set "!$%&'()*,/:;<=>?@[\]^`{|}~". The latter restriction makes room for future extensions (a possibility noted by Tom Lane). tzfile.5 now documents what time types apply before the first and after the last transition, if any. Documentation now uses the spelling "timezone" for a TZ setting that determines timestamp history, and "time zone" for a geographic region currently sharing the same standard time. The name "TZif" is now used for the tz binary data format. tz-link.htm now mentions the A0 TimeZone Migration utilities. (Thanks to Aldrin Martoq for the link.) To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/lib/libc/time/CONTRIBUTING \ src/lib/libc/time/tz-how-to.html cvs rdiff -u -r1.40 -r1.41 src/lib/libc/time/Makefile cvs rdiff -u -r1.24 -r1.25 src/lib/libc/time/NEWS cvs rdiff -u -r1.13 -r1.14 src/lib/libc/time/README cvs rdiff -u -r1.59 -r1.60 src/lib/libc/time/ctime.3 cvs rdiff -u -r1.18 -r1.19 src/lib/libc/time/difftime.c cvs rdiff -u -r1.112 -r1.113 src/lib/libc/time/localtime.c cvs rdiff -u -r1.52 -r1.53 src/lib/libc/time/private.h cvs rdiff -u -r1.33 -r1.34 src/lib/libc/time/strftime.3 cvs rdiff -u -r1.41 -r1.42 src/lib/libc/time/strftime.c cvs rdiff -u -r1.3 -r1.4 src/lib/libc/time/theory.html cvs rdiff -u -r1.1 -r1.2 src/lib/libc/time/tz-art.html \ src/lib/libc/time/tz-link.html cvs rdiff -u -r1.25 -r1.26 src/lib/libc/time/tzfile.5 cvs rdiff -u -r1.7 -r1.8 src/lib/libc/time/tzselect.8 \ src/lib/libc/time/version cvs rdiff -u -r1.17 -r1.18 src/lib/libc/time/tzselect.ksh \ src/lib/libc/time/zdump.8 cvs rdiff -u -r1.38 -r1.39 src/lib/libc/time/tzset.3 cvs rdiff -u -r1.49 -r1.50 src/lib/libc/time/zdump.c cvs rdiff -u -r1.29 -r1.30 src/lib/libc/time/zic.8 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.