< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

[reSIProcate] y2k38


I noticed the following in the ares library that deals with time_t values
that are cast to int's.  On intel/windows 64-bit platforms I believe that
int will remain 4 bytes, but time_t has changed to __int64( since visual
studio 2005) to handle the y2k38 problem (seconds since midnight jan 1, 1970
UTC time).  To be on the safe side it would be a good idea to not cast
time_t values to int's.

-Justin


----ares_process.c----
static void process_answer(ares_channel channel, unsigned char *abuf,
                           int alen, int whichserver, int tcp, /*int*/time_t
now);


---ares_timeout.c----

struct timeval *ares_timeout(ares_channel channel, struct timeval *maxtv,
                             struct timeval *tvbuf)
{
  struct query *query;
  time_t now;
  time_t /*int*/ offset, min_offset;