Subject: Re: Before I offically call this a time bug can someone else try this?
To: None <perry@piermont.com>
From: Michael C. Richardson <mcr@sandelman.ottawa.on.ca>
List: tech-kern
Date: 08/04/1998 08:22:37
I was thinking about something like this:
--- clock.c~ Thu Feb 13 07:17:15 1997
+++ clock.c Tue Aug 4 08:18:21 1998
@@ -530,6 +530,14 @@
yr = hexdectodec(rtclk[MC_YEAR]);
yr = (yr < 70) ? yr+100 : yr;
+ /* is time_t a 4 byte quantity? */
+ if(sizeof(time_t) <= sizeof(int32_t)) {
+ if(yr > 138) {
+ printf("WARNING: signed time_t can not cope beyond 2038\n");
+ yr = 138;
+ }
+ }
+
n = sec + 60 * min + 3600 * hr;
n += (dom - 1) * 3600 * 24;
It effectively "solves" the 2038 problem by stopping the clock on the next
boot. And it goes away when time_t becomes 64 bits.
:!mcr!: | Network and security consulting/contract programming
Michael Richardson | Firewalls, TCP/IP and Unix administration
Personal: mcr@sandelman.ottawa.on.ca. PGP key available.
Corporate: sales@sandelman.ottawa.on.ca.
ON HUMILITY: To err is human, to moo bovine.