30 lines
1.2 KiB
Diff
30 lines
1.2 KiB
Diff
|
Date: 2023-03-17
|
||
|
Author: Bernhard M. Wiedemann
|
||
|
|
||
|
Fix dates beyond year 2038
|
||
|
|
||
|
https://rt.cpan.org/Ticket/Display.html?id=147194
|
||
|
|
||
|
Index: Date-Calc-XS-6.4/DateCalc.c
|
||
|
===================================================================
|
||
|
--- Date-Calc-XS-6.4.orig/DateCalc.c
|
||
|
+++ Date-Calc-XS-6.4/DateCalc.c
|
||
|
@@ -1488,7 +1488,7 @@ boolean DateCalc_mktime(time_t *seconds,
|
||
|
#ifdef MACOS_TRADITIONAL
|
||
|
if ( (year < 1904) or (year > 2040) or
|
||
|
#else
|
||
|
- if ( (year < 1970) or (year > 2038) or
|
||
|
+ if ( (year < 1970) or ((sizeof(time_t) == 4) and (year > 2038)) or
|
||
|
#endif
|
||
|
(month < 1) or (month > 12) or
|
||
|
(day < 1) or (day > 31) or
|
||
|
@@ -1505,7 +1505,7 @@ boolean DateCalc_mktime(time_t *seconds,
|
||
|
( (min == 28) and (sec > 15) ) ))))))) )
|
||
|
return(false);
|
||
|
#else
|
||
|
- if ( (year == 2038) and ( (month > 1) or
|
||
|
+ if ( (sizeof(time_t) == 4) and (year == 2038) and ( (month > 1) or
|
||
|
( (month == 1) and ( (day > 19) or
|
||
|
( (day == 19) and ( (hour > 3) or
|
||
|
( (hour == 3) and ( (min > 14) or
|