Skip to content

Commit 08d7e76

Browse files
committed
Squashed 'tz/' changes from 7e1145bfdb..e23c045f8f
dd6be6d155 Release 2026a 1198f1f5be Cite recent review of DST and sleep 5f45f18fc7 The CIA World Factbook is no more ba50e04779 Update URLs for March 2026 f1558f84f0 Fix Honolulu misspelling d005045d8d Pacify clang -Wunterminated-string-initialization c6713905fc Moldova usage of EU rules now official e67b08d333 Port to C23 strchr macro 199759934e Pacify GCC 15.2 -Wzero-as-null-pointer-constant be2603b031 Moldova has used EU transition times since 2022 3d4b4e463a Add zic.c overflow commentary d9101b88ba zic now a bit safer for overflows near 2**63 b23fa8e0d7 zic now allows more than 50 leap seconds 4ff518d273 Increase TZ_MAX_CHARS from 50 to 256 75d3b73b29 New -DTZ_RUNTIME_LEAPS=0 build-time option 55f2268b22 Greenland observed DST in WWII 87343c6e5c TZ_MAX_TIMES must be at least 310 now f193a8eb50 Fix pre-C23 typos in recent overflow fixes 5b8b63e743 Support slightly-larger TZif files 5a67630538 Fix overflow bugs in time2posix and posix2time 926525ba2c Improve time2posix man page 1f5ba5e500 Fix theoretical -2**31 leapcorr bug 55b332a27c Check with -Wzero-as-null-pointer-constant fc8f1b68a0 Simplify int_fast32_t definition on C89 platforms d2f9c1edcf Pacify gcc -Wunused-function with 32-bit time_t 0d8ee4c0a2 Fix remaining Naveed8951-reported overflows 24581465ca Remove TZDEFRULES ("posixrules") from localtime.c dff3a01bdb Remove POSIXRULES installation option fc70842701 zic now warns about -p 67d3d1d54a Document zic -p better b924eb9bd2 Add comment re UT offsets equal to -2**31 d5f71488fd Pacify w3c validator re <h3> 832ecc876d Disallow UT offsets equal to -2**31 b09a3f2382 Port TWOS_COMPLEMENT to signed-magnitude hosts 56b7a24a91 Make sure 2**31 - 1 is signed 9068ab7845 zic no longer generates utoff == -2**31 cb6f9b3bca Omit unnecessary L suffixes 3d3366cd31 Improve .gitignore patterns 3fc255c206 Do not install "right" TZif files by default c9cd070075 No leap second on 2026-06-30 c37fbc3249 Clarify when ‘__attribute__((pure))’ is a hack 859690a7aa Fix some unsequenced/reproducible commentary 14ec13652f Fix recently-introduced HTML </th> typo 9c772ca799 Port to POSIX.1-2001 fflush 10f93018f4 Omit no-op transitions when Rule+Zone cancel d4a0464a80 Make HTML view better on cell phones 5d8c7ba878 Fix st_ctimespec comment typo 4d2186b0de Don’t be coy about st_ctimespec 1288991016 Mention -Dst_ctim=M in CFLAGS c8fc2c5ca0 Fix bad URL to RFC 9636 b0f0fdd597 Spelling fixes 4080576887 Clarify st_ctim vs st_ctime b81d0be187 Release 2025c 99a4b8a4b2 * NEWS: Quote more consistently. 73455f1f86 Fix struct stat decl typo 2510f073c6 Say more clearly that the tz mailing list is public 7bfdf96c98 Remove misleading Russia calendrical comments e3693aabeb Map zone1970 names to zonenow names a0b09b52c8 Fix unlikely backslash bug in scripts 9609458333 * tz-art.html (Documentaries): Add Melbourne Shrine of Remembrance doc. 3c26b4ffb5 * tz-art.html: Fix some unclosed <li> tags. 274ca1ff06 Add a "Briefly:" for all the code changes 894eab6b25 tzfree now preserves errno 8e43ecbb25 Improve TZ="/..." security and speed (NetBSD only) 9d97da0f40 Be more like OpenBSD wrt ".." 428a2e85a0 * localtime.c: Fix endif indent 2cbd3a710e Allow builder to override GRANDPARENTED b757a2577f Allow a wrapper file to define tzsetwall c725762608 not used at → used outside faed4bd3de Clarify <sys/auxv.h> vs getauxval 11681aac34 Shorten GCC_INSTRUMENT à la GCC 14 3c32d87201 Give more details about new zic options df08e6a133 Port mode_t (and gid_t, uid_t) to MS-Windows 6127d3755b New zic option -u, inspired by FreeBSD 813c9ee03b New zic option -m, inspired by FreeBSD 987ea89c7c New zic option -D, inspired by FreeBSD cc377b074b Simplify mkdir situation cd994a904c Simplify !HAVE_POSIX_DECLS situation 052ddf762e Minor gettext macro improvements d9018f1cd9 Refactor duplicate duplicate-option code 8d65db9786 Prefer fdopen to umask in zic d7edca6e10 Omit “'”s from zic usage message a09ba7a5e4 getopt returns -1 (not EOF) on failure e22d410c2e zic now uses is_digit f57caddafc Always invoke umask at start 242a8338f7 Fix mode_t issues on MS-Windows 2fecd6061b MKDIR_UMASK → MKDIR_PERMS refactoring 9e0bf0b42d Simplify function parameters in recent changes f9fc1a6965 New compile-time option THREAD_TM_MULTI 64f36aaf28 Refactor threadedness checking b8e0891b2a Simplify gmtcheck 054279ae31 Define fullname only if needed 90ef088aa6 Move static_assert to top level 9691a9428a Simplify function parameter decl style fb8cef73eb Fix rd2wrlock indenting df69af609d * localtime.c (tzset_unlocked): Fix comment typo. 4bdb60ca24 Add option to prefer single-threaded speed e53d1cc5f9 Optionally use read-write locks instead of mutexes 415764781e Port better to platforms lacking mempcpy 5b622f98b9 Port recent PATH_MAX change to strict C23 0f520abc0f Fix off-by-one fullnamesize glitch cb148e39a3 Port better to non-PATH_MAX platforms 09ccf343bb Refactor tzloadbody to allocate ALL_STATE object c991308e8e tzset sets errno if lock fails 90a08d3e3d * private.h: Include stddef.h early enough so that on FreeBSD __BSD_VISIBLE is defined before use. (timezone): Do not define if not FreeBSD, or if FreeBSD 15+, or if in standard-compliance mode so __BSD_VISIBLE is not defined. aa8b35fefa Simplify port to NetBSD struct __state 3924086783 Revert previous (st_gen) change 46466d1f82 If detecting TZ changes, also check st_gen 59ebd6afa6 Optionally poll for TZ file changes d08457eab7 * NEWS: Fix typo. cd2fddf725 Port to -DHAVE_SYS_STAT_H=0 -DHAVE_POSIX_DECLS=0 79c6aa4b00 Document TZ_STRLEN_MAX b406ca386a Allow ‘⟨’ and ‘⟩’ in man page output 8470e7598d Pacify GCC 15 -Wunterminated-string-initialization e8d4bfc8b9 Restore SUPPRESS_TZDIR support if OPENAT_TZDIR 997441bed2 Fix two off-by-1 nits fd46fea697 Use O_RESOLVE_BENEATH (if available) for TZif ad0716e2f0 Use open+openat (if available) for TZif access f2ea0cbc9f Also treat space as bogus in abbreviations 566003195c Stop using strchr bd9cbf18e5 Prefer mempcpy to strcpy from non-constant 8817d42f14 Prefer mempcpy to doing it by hand 5c3e9cd98b * NEWS: Editorial changes. e3ae05b2b1 Restore SUPPRESS_TZDIR support 87abb1135e Tighten security checks on TZ values 2e1cfd4a8f Abbreviate a TZ starting with TZDIR/ c87f0918b0 Use strnlen 07f7f31ac9 Fix preprocessor indenting 3adf412336 Add offtime_r à la FreeBSD and NetBSD a06191238f Add commentary on UTC/-00 patch 75e74e90ec Use -00 only for invalid time zones df5181bfbf Update tz-link for FTP, Go, Levine proposal 894744568d Better fix for U+2217 ASTERISK OPERATOR glitch d0e0b00f84 Avoid unnecessary access, stat calls 95c9befb8e * africa: Add comment re Fort-Lamy renaming. 77ebc39219 Prefer UTF-8 in files facing the public on GitHub 5f2480e5a5 Prefer UTF-8 in *.tab commentary 5b92f3cd1c Prefer UTF-8 in *.html files cdcadcc52d Quote HTML more consistently d71cfc7fd9 Update list of allowed chars in commentary d3ea939670 Work around groff -Tutf8 misfeature with ‘*’ 657288a08c Formatted man pages (*.txt) now use UTF-8 4fd80135e8 Fix .Ql in newstrftime man page e5b51fa687 Update citation to 720 BC etc. paper 1d697e10fb Format man page URL more consistently 82a3bd52f2 Fix adjustment and hyphenation in *.txt files c2d30cc0a4 Mention Qinling base in comments df8a677979 Add Schapiro notes on Zapotec timekeeping 8185dfc1fb Fix Baja California 1951, 1961/1975 4e744d8d54 Improve “Standard Time Throughout the World” cites afc6e3a083 More commentary changes for 1923 France 344c99fc75 * northamerica (Mexico): Fix URL typos. e03298240e More commentary about 1923 Paris e9ef7c6cad Cite the French Annuaire bd6211293e DSHO → DISHO be764d7bd3 No leap second on 2025-12-31 28c1625196 Update my comment’s date a5b65ef48b Update ISO 3166-1 version 7cf31ba4c1 Say that -b fat can work around QNX-like bugs cdb035f2ef Mention QNX reader bug 6fc9b27a68 Document that TZ string can be unique 9dd68fcded QNX is also downstream 8f3d3258c5 Fix example for zic transition coalescence 0e01844cdd Don’t mention iso3166.tab in zone1970.tab comment cd85cc1b9f Document IERS vs NIST leap second metadata ff5cbd52d9 Fix comment typo 74590f1247 Mention build assumptions b807a31e47 Don’t depend on ‘true’ for tzselect c3f46eb5f5 Don’t depend on grep for tarballs 87f967d413 Improve white-space.ck 'make' log 2edba06ee7 Use correct commit timestamps in tarballs a0abe848ed Use reproducible timestamps for *.asc, *.gz, *.lz 2487a9d19d * Makefile: Modernize comment. 771a14bf50 More POSIX link fixes eb0ab113af Update POSIX URLs 656715da34 Give URLs for POSIX.1-2024 git-subtree-dir: tz git-subtree-split: e23c045f8f0a12701ff757b14c6c79d5fb1f5049
1 parent 07d8e91 commit 08d7e76

42 files changed

Lines changed: 3431 additions & 1990 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,38 @@
11
# Files intentionally not tracked by Git.
22
# This file is in the public domain.
3+
#
4+
# Ignore all subdirectories.
5+
*/
6+
#
7+
# Ignore non-directories that are the output of builds,
8+
# or are backups or nonces unlikely to be added to the repository.
39
*.a
410
*.asc
11+
*.bak
512
*.ck
6-
*.ckd/
13+
*.core
714
*.diff
8-
*.dir/
915
*.i
1016
*.o
1117
*.orig
18+
*.out
1219
*.patch
1320
*.pdf
1421
*.ps
1522
*.rej
1623
*.s
24+
*.t
1725
*.tar
1826
*.tar.*
1927
*.txt
2028
*.tzs
2129
*.zi
2230
*~
31+
.*
32+
!.gitignore
2333
ChangeLog
34+
core
35+
core.*
2436
date
2537
leapseconds
2638
tzdir.h

CONTRIBUTING

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,27 @@ warning, the data entries do not cover all of civil time before
1010
1970, and undoubtedly errors remain in the code and data. Feel
1111
free to fill gaps or fix mistakes, and please email improvements
1212
to <tz@iana.org> for use in the future. In your email, please give
13-
reliable sources that reviewers can check.
13+
reliable sources that reviewers can check. The mailing list and its
14+
archives are public, so please do not send confidential information.
1415

1516
## Contributing technical changes
1617

1718
To email small changes, please run a POSIX shell command like
18-
'diff -u old/europe new/europe >myfix.patch', and attach
19-
'myfix.patch' to the email.
19+
diff -u old/europe new/europe >myfix.patch, and attach
20+
myfix.patch to the email.
2021

2122
For more-elaborate or possibly controversial changes,
2223
such as renaming, adding or removing zones, please read
23-
"Theory and pragmatics of the tz code and data"
24+
Theory and pragmatics of the tz code and data
2425
<https://www.iana.org/time-zones/repository/theory.html>.
2526
It is also good to browse the mailing list archives
2627
<https://lists.iana.org/hyperkitty/list/tz@iana.org/>
2728
for examples of patches that tend to work well.
2829
Changes should contain commentary citing reliable sources.
29-
Citations should use "https:" URLs if available.
30+
Citations should use https: URLs if available.
3031

3132
For changes that fix sensitive security-related bugs, please see the
32-
distribution's 'SECURITY' file.
33+
distribution’s SECURITY file.
3334

3435
Please submit changes against either the latest release
3536
<https://www.iana.org/time-zones> or the main branch of the development
@@ -54,11 +55,11 @@ If you use Git the following workflow may be helpful:
5455

5556
git checkout -b mybranch
5657

57-
* Sleuth by using 'git blame'. For example, when fixing data for
58-
Africa/Sao_Tome, if the command 'git blame africa' outputs a line
59-
'2951fa3b (Paul Eggert 2018-01-08 09:03:13 -0800 1068) Zone
60-
Africa/Sao_Tome 0:26:56 - LMT 1884', commit 2951fa3b should
61-
provide some justification for the 'Zone Africa/Sao_Tome' line.
58+
* Sleuth by using git blame. For example, when fixing data for
59+
Africa/Sao_Tome, if the command git blame africa outputs a line
60+
2951fa3b (Paul Eggert 2018-01-08 09:03:13 -0800 1068) Zone
61+
Africa/Sao_Tome 0:26:56 - LMT 1884, commit 2951fa3b should
62+
provide some justification for the Zone Africa/Sao_Tome line.
6263

6364
* Edit source files. Include commentary that justifies the
6465
changes by citing reliable sources.
@@ -69,28 +70,31 @@ If you use Git the following workflow may be helpful:
6970
./zdump -v America/Los_Angeles
7071

7172
Although builds assume only basic POSIX, they use extra features
72-
if available. 'make check' accesses validator.w3.org unless you
73-
lack 'curl' or use 'make CURL=:'. If you have the latest GCC,
74-
"make CFLAGS='$(GCC_DEBUG_FLAGS)'" does extra checking.
73+
if available. make check accesses validator.w3.org unless you
74+
lack curl or use make CURL=:. If you have the latest GCC,
75+
make CFLAGS='$(GCC_DEBUG_FLAGS)' does extra checking.
7576

7677
* For each separable change, commit it in the new branch, e.g.:
7778

7879
git add northamerica
7980
git commit
8081

81-
See recent 'git log' output for the commit-message style.
82+
See recent git log output for the commit-message style.
8283

8384
* Create patch files 0001-..., 0002-..., ...
8485

8586
git format-patch main
8687

88+
* Check that the patch files and your email setup contain only
89+
information that you want to make public.
90+
8791
* After reviewing the patch files, send the patches to <tz@iana.org>
8892
for others to review.
8993

9094
git send-email main
9195

9296
For an archived example of such an email, see
93-
"[PROPOSED] Fix off-by-1 error for Jamaica and T&C before 1913"
97+
[PROPOSED] Fix off-by-1 error for Jamaica and T&C before 1913
9498
<https://mm.icann.org/pipermail/tz/2018-February/026122.html>.
9599

96100
* Start anew by getting current with the main branch again

0 commit comments

Comments
 (0)