Support dates outside of 1901..2038. Add tests for dates outside this range. Vast majority of the work was done by Vladimir Serbinenko
Fixes: https://savannah.gnu.org/bugs/?63894 Fixes: https://savannah.gnu.org/bugs/?66301 V4 -> V5: datetime.c / h: Rename variables "is_bisextile" to "bisextile". Change some boolean assignments to use ternary operator. Compare booleans to true instead of checking "if(boolean)". date_unit_test.c: Add additional commentary to the tests array for meaning of numbers. Rework test ranges to cover from years 0001 to 9999 and add specific min/max tests for min 0001 date and max 9999 date. V3 -> V4: Add additional commentary for a few magic numbers and fix some coding standard issues. V2 -> V3: Added additional commentary to datetime.c to describe the origin of some of the numbers used in calculations. Andrew Hamilton (2): datetime: Support dates outside of 1901..2038 range date_unit_test: test dates outside of 32-bit unix range grub-core/lib/datetime.c | 65 +++++++++++++++++++++++++++------- include/grub/datetime.h | 28 ++++++++++----- tests/date_unit_test.c | 75 +++++++++++++++++++++++++++++++++++----- 3 files changed, 139 insertions(+), 29 deletions(-) -- 2.39.5 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel