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

Reply via email to