Module Name: src Committed By: christos Date: Wed Sep 11 13:50:35 UTC 2024
Modified Files: src/lib/libc/compat/time: compat_localtime.c src/lib/libc/time: CONTRIBUTING Makefile Makefile.inc NEWS asctime.c localtime.c private.h theory.html tz-art.html tz-link.html tzfile.5 tzselect.ksh version zdump.c zic.8 zic.c Log Message: Merge tzcode-2024b Release 2024b - 2024-09-04 12:27:47 -0700 Changes to code localtime.c now always uses a TZif file's time type 0 to handle timestamps before the file's first transition. Formerly, localtime.c sometimes inferred a different time type, in order to handle problematic data generated by zic 2018e or earlier. As it is now safe to assume more recent versions of zic, there is no longer a pressing need to fail to conform RFC 8536 section 3.2, which requires using time type 0 in this situation. This change does not affect behavior when reading TZif files generated by zic 2018f and later. POSIX.1-2024 removes asctime_r and ctime_r and does not let libraries define them, so remove them except when needed to conform to earlier POSIX. These functions are dangerous as they can overrun user buffers. If you still need them, add -DSUPPORT_POSIX2008 to CFLAGS. The SUPPORT_C89 option now defaults to 1 instead of 0, fixing a POSIX-conformance bug introduced in 2023a. tzselect now supports POSIX.1-2024 proleptic TZ strings. Also, it assumes POSIX.2-1992 or later, as practical porting targets now all support that, and it uses some features from POSIX.1-2024 if available. Changes to build procedure 'make check' no longer requires curl and Internet access. The build procedure now assumes POSIX.2-1992 or later, to simplify maintenance. To build on Solaris 10, the only extant system still defaulting to pre-POSIX, prepend /usr/xpg4/bin to PATH. Changes to documentation The documentation now reflects POSIX.1-2024. Changes to commentary Commentary about historical transitions in Portugal and her former colonies has been expanded with links to many relevant legislation. (Thanks to Tim Parenti.) To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/lib/libc/compat/time/compat_localtime.c cvs rdiff -u -r1.8 -r1.9 src/lib/libc/time/CONTRIBUTING cvs rdiff -u -r1.57 -r1.58 src/lib/libc/time/Makefile cvs rdiff -u -r1.23 -r1.24 src/lib/libc/time/Makefile.inc \ src/lib/libc/time/tzselect.ksh cvs rdiff -u -r1.44 -r1.45 src/lib/libc/time/NEWS cvs rdiff -u -r1.30 -r1.31 src/lib/libc/time/asctime.c cvs rdiff -u -r1.143 -r1.144 src/lib/libc/time/localtime.c cvs rdiff -u -r1.69 -r1.70 src/lib/libc/time/private.h cvs rdiff -u -r1.19 -r1.20 src/lib/libc/time/theory.html cvs rdiff -u -r1.13 -r1.14 src/lib/libc/time/tz-art.html cvs rdiff -u -r1.16 -r1.17 src/lib/libc/time/tz-link.html cvs rdiff -u -r1.35 -r1.36 src/lib/libc/time/tzfile.5 cvs rdiff -u -r1.25 -r1.26 src/lib/libc/time/version cvs rdiff -u -r1.63 -r1.64 src/lib/libc/time/zdump.c cvs rdiff -u -r1.50 -r1.51 src/lib/libc/time/zic.8 cvs rdiff -u -r1.91 -r1.92 src/lib/libc/time/zic.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.