History log of /src/lib/libc/compat/time |
Revision | Date | Author | Comments |
1.3 | 16-Sep-2023 |
christos | Update tzcode from 2022g to 2023c:
Release 2023c - 2023-03-28 12:42:14 -0700
Release 2023b - 2023-03-23 19:50:38 -0700
Release 2023a - 2023-03-22 12:39:33 -0700
Changes to code
You can now tell tzselect local time, to simplify later choices. Select the 'time' option in its first prompt.
You can now compile with -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 255). The reference runtime library now rejects POSIX-style TZ strings that contain longer abbreviations, treating them as UTC. Previously the limit was platform dependent and abbreviations were silently truncated to 16 bytes even when the limit was greater than 16.
The code by default is now designed for C99 or later. To build in a C89 environment, compile with -DPORT_TO_C89. To support C89 callers of the tzcode library, compile with -DSUPPORT_C89. The two new macros are transitional aids planned to be removed in a future version, when C99 or later will be required.
The code now builds again on pre-C99 platforms, if you compile with -DPORT_TO_C89. This fixes a bug introduced in 2022f.
On C23-compatible platforms tzcode no longer uses syntax like 'static [[noreturn]] void usage(void);'. Instead, it uses '[[noreturn]] static void usage(void);' as strict C23 requires. (Problem reported by Houge Langley.)
The code's functions now constrain their arguments with the C 'restrict' keyword consistently with their documentation. This may allow future optimizations.
zdump again builds standalone with ckdadd and without setenv, fixing a bug introduced in 2022g. (Problem reported by panic.)
leapseconds.awk can now process a leap seconds file that never expires; this might be useful if leap seconds are discontinued.
Changes to commentary
tz-link.html has a new section "Coordinating with governments and distributors". (Thanks to Neil Fuller for some of the text.)
To improve tzselect diagnostics, zone1970.tab's comments column is now limited to countries that have multiple timezones.
Note that leap seconds are planned to be discontinued by 2035.
|
1.2 | 11-Jan-2009 |
christos | merge another directory that cvs missed.
|
1.1 | 08-Nov-2008 |
christos | branches: 1.1.2; file Makefile.inc was initially added on branch christos-time_t.
|
1.1.2.2 | 10-Nov-2008 |
christos | this completes the symbol implementation for now. New we need to debug...
|
1.1.2.1 | 08-Nov-2008 |
christos | new files for time_t
|
1.1 | 16-Sep-2023 |
christos | Update tzcode from 2022g to 2023c:
Release 2023c - 2023-03-28 12:42:14 -0700
Release 2023b - 2023-03-23 19:50:38 -0700
Release 2023a - 2023-03-22 12:39:33 -0700
Changes to code
You can now tell tzselect local time, to simplify later choices. Select the 'time' option in its first prompt.
You can now compile with -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 255). The reference runtime library now rejects POSIX-style TZ strings that contain longer abbreviations, treating them as UTC. Previously the limit was platform dependent and abbreviations were silently truncated to 16 bytes even when the limit was greater than 16.
The code by default is now designed for C99 or later. To build in a C89 environment, compile with -DPORT_TO_C89. To support C89 callers of the tzcode library, compile with -DSUPPORT_C89. The two new macros are transitional aids planned to be removed in a future version, when C99 or later will be required.
The code now builds again on pre-C99 platforms, if you compile with -DPORT_TO_C89. This fixes a bug introduced in 2022f.
On C23-compatible platforms tzcode no longer uses syntax like 'static [[noreturn]] void usage(void);'. Instead, it uses '[[noreturn]] static void usage(void);' as strict C23 requires. (Problem reported by Houge Langley.)
The code's functions now constrain their arguments with the C 'restrict' keyword consistently with their documentation. This may allow future optimizations.
zdump again builds standalone with ckdadd and without setenv, fixing a bug introduced in 2022g. (Problem reported by panic.)
leapseconds.awk can now process a leap seconds file that never expires; this might be useful if leap seconds are discontinued.
Changes to commentary
tz-link.html has a new section "Coordinating with governments and distributors". (Thanks to Neil Fuller for some of the text.)
To improve tzselect diagnostics, zone1970.tab's comments column is now limited to countries that have multiple timezones.
Note that leap seconds are planned to be discontinued by 2035.
|
1.2 | 11-Jan-2009 |
christos | merge another directory that cvs missed.
|
1.1 | 10-Nov-2008 |
christos | branches: 1.1.2; file compat_difftime.c was initially added on branch christos-time_t.
|
1.1.2.1 | 10-Nov-2008 |
christos | this completes the symbol implementation for now. New we need to debug...
|
1.4 | 11-Sep-2024 |
christos | 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.)
|
1.3 | 21-Feb-2011 |
christos | branches: 1.3.56; remove duplicate weak aliases
|
1.2 | 11-Jan-2009 |
christos | branches: 1.2.4; merge another directory that cvs missed.
|
1.1 | 08-Nov-2008 |
christos | branches: 1.1.2; file compat_localtime.c was initially added on branch christos-time_t.
|
1.1.2.3 | 10-Nov-2008 |
christos | version tzet{,wall}
|
1.1.2.2 | 10-Nov-2008 |
christos | this completes the symbol implementation for now. New we need to debug...
|
1.1.2.1 | 08-Nov-2008 |
christos | new files for time_t
|
1.2.4.1 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.3.56.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|