From: Dan Aloni (da-x_at_nonexisting.hamakor.org.il)
Date: Thu 06 Jan 2005 - 00:21:05 IST
On Wed, Jan 05, 2005 at 09:32:16PM +0200, Moish wrote:
> Quoting the ever-optimistic www.2038bug.com:
>
> #include <stdlib.h>
> #include <stdio.h>
> #include <time.h>
>
> int main (int argc, char **argv)
> {
> time_t t;
> t = (time_t) 1000000000;
> printf ("%d, %s", (int) t, asctime (gmtime (&t)));
> t = (time_t) (0x7FFFFFFF);
> printf ("%d, %s", (int) t, asctime (gmtime (&t)));
> t++;
> printf ("%d, %s", (int) t, asctime (gmtime (&t)));
> return 0;
> }
Oh, the "2^31 seconds are enough time for everybody",
brought to you by one or more careless UNIX designers
who might be lucky enough to be alive and 100+ years
old when this bug actually manifests.
In GNU/Linux, time_t is typedef'ed from __time_t, that
is typedef'ed from __TIME_T, that in turn typedef'ed
from __SLONGWORD_TYPE, that is defined from 'long int'.
Even today 64 bit architectures define 'long int' as
64 bit on some cases. Hopefully most 32-bit architectures
will perish until 2038. Nowadays, AMD64 slowly becomes
commodoty hardware, so I'm optimistic.
-- Dan Aloni da-x_at_colinux.org ================================================================= To unsubscribe, send mail to linux-il-request_at_linux.org.il with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail linux-il-request_at_linux.org.il
This archive was generated by hypermail 2.1.7 : Thu 06 Jan 2005 - 00:30:27 IST