Module Name: src Committed By: christos Date: Sun Dec 11 17:57:23 UTC 2022
Modified Files: src/lib/libc/time: Makefile NEWS ctime.3 localtime.c private.h strftime.c theory.html time2posix.3 tzfile.5 tzselect.8 tzset.3 version zdump.8 zdump.c zic.8 zic.c Log Message: Merge in 2022g: Although tzcode still works with C89, bugs found in recent routine maintenance indicate that bitrot has set in and that in practice C89 is no longer used to build tzcode. As it is a maintenance burden, support for C89 is planned to be removed soon. Instead, please use compilers compatible with C99, C11, C17, or C23. timegm, which tzcode implemented in 1989, will finally be standardized 34 years later as part of C23, so timegm is now supported even if STD_INSPIRED is not defined. Fix bug in zdump's tzalloc emulation on hosts that lack tm_zone. (Problem reported by Đoàn Trần Công Danh.) Fix bug in zic on hosts where malloc(0) yields NULL on success. (Problem reported by Tim McBrayer for AIX 6.1.) Fix zic configuration to avoid linkage failures on some platforms. (Problems reported by Gilmore Davidson and Igor Ivanov.) Work around MS-Windows nmake incompatibility with POSIX. (Problem reported by Manuela Friedrich.) Port mktime and strftime to debugging platforms where accessing uninitialized data has undefined behavior (strftime problem reported by Robert Elz). Check more carefully for unlikely integer overflows, preferring C23 <stdckdint.h> to overflow checking by hand, as the latter has had obscure bugs. To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/lib/libc/time/Makefile cvs rdiff -u -r1.39 -r1.40 src/lib/libc/time/NEWS cvs rdiff -u -r1.68 -r1.69 src/lib/libc/time/ctime.3 cvs rdiff -u -r1.135 -r1.136 src/lib/libc/time/localtime.c cvs rdiff -u -r1.63 -r1.64 src/lib/libc/time/private.h cvs rdiff -u -r1.50 -r1.51 src/lib/libc/time/strftime.c cvs rdiff -u -r1.16 -r1.17 src/lib/libc/time/theory.html cvs rdiff -u -r1.22 -r1.23 src/lib/libc/time/time2posix.3 \ src/lib/libc/time/version cvs rdiff -u -r1.32 -r1.33 src/lib/libc/time/tzfile.5 cvs rdiff -u -r1.12 -r1.13 src/lib/libc/time/tzselect.8 cvs rdiff -u -r1.44 -r1.45 src/lib/libc/time/tzset.3 cvs rdiff -u -r1.21 -r1.22 src/lib/libc/time/zdump.8 cvs rdiff -u -r1.58 -r1.59 src/lib/libc/time/zdump.c cvs rdiff -u -r1.40 -r1.41 src/lib/libc/time/zic.8 cvs rdiff -u -r1.85 -r1.86 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.