Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> Tamotsu Nakagawa has posted a fix for this to a local mail list in
> Japan. Can someone comment on this? According to him, with the patch
> now only the geometry test fails.
> void
> -abstime2tm(AbsoluteTime time, int *tzp, struct tm * tm, char *tzn)
> +abstime2tm(AbsoluteTime _time, int *tzp, struct tm * tm, char *tzn)
> {
> + time_t time = (time_t) _time;
> #ifdef USE_POSIX_TIME
> struct tm *tx;
Hmm, that makes all kinds of sense if time_t is not the same size as
AbsoluteTime --- which wouldn't surprise me at all on a 64-bit system.
time_t *ought* to be 64-bits on such a machine. The casts in that
routine,
tx = localtime((time_t *) &time);
are obviously bogus if so. Can anyone with an Alpha comment?
What surprises me more is the implication that this is the only place
that makes such a bogus assumption about the size of time_t. I'd have
guessed there are more places...
regards, tom lane