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
[EMAIL PROTECTED]

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to