16 lines
714 B
Text
16 lines
714 B
Text
Index: lib/getdate.y
|
|
--- lib/getdate.y.orig
|
|
+++ lib/getdate.y
|
|
@@ -651,9 +651,9 @@ Convert(time_t Month, time_t Day, time_t Year,
|
|
Year += 1900;
|
|
DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0)
|
|
? 29 : 28;
|
|
- /* Checking for 2038 bogusly assumes that time_t is 32 bits. But
|
|
- I'm too lazy to try to check for time_t overflow in another way. */
|
|
- if (Year < EPOCH || Year > 2038
|
|
+ /* XXX Sloppily check for 2038 if time_t is 32 bits */
|
|
+ if (Year < EPOCH
|
|
+ || (sizeof(time_t) == sizeof(int) && Year > 2038)
|
|
|| Month < 1 || Month > 12
|
|
/* Lint fluff: "conversion from long may lose accuracy" */
|
|
|| Day < 1 || Day > DaysInMonth[(int)--Month])
|