From b084dc87600e8f1ab8a583f7f6b52b5c332d91b3 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 2 Jun 2007 19:48:29 +0000 Subject: Brad House fixed VS2005 compiler warnings due to time_t being 64bit. He also made recent Microsoft compilers use _strdup() instead of strdup(). --- ares/CHANGES | 3 +++ ares/ares_process.c | 4 ++-- ares/ares_timeout.c | 5 +++-- ares/setup.h | 5 +++++ 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ares/CHANGES b/ares/CHANGES index 3e9f23ca5..944255e2e 100644 --- a/ares/CHANGES +++ b/ares/CHANGES @@ -2,6 +2,9 @@ * June 2 2007 +- Brad House fixed VS2005 compiler warnings due to time_t being 64bit. + He also made recent Microsoft compilers use _strdup() instead of strdup(). + - Brad House's man pages for ares_save_options() and ares_destroy_options() were added. diff --git a/ares/ares_process.c b/ares/ares_process.c index efc462a40..745fe682a 100644 --- a/ares/ares_process.c +++ b/ares/ares_process.c @@ -63,7 +63,7 @@ static void read_udp_packets(ares_channel channel, fd_set *read_fds, ares_socket_t read_fd, time_t now); static void process_timeouts(ares_channel channel, time_t now); static void process_answer(ares_channel channel, unsigned char *abuf, - int alen, int whichserver, int tcp, int now); + int alen, int whichserver, int tcp, time_t now); static void handle_error(ares_channel channel, int whichserver, time_t now); static struct query *next_server(ares_channel channel, struct query *query, time_t now); static int open_tcp_socket(ares_channel channel, struct server_state *server); @@ -398,7 +398,7 @@ static void process_timeouts(ares_channel channel, time_t now) /* Handle an answer from a server. */ static void process_answer(ares_channel channel, unsigned char *abuf, - int alen, int whichserver, int tcp, int now) + int alen, int whichserver, int tcp, time_t now) { int id, tc, rcode; struct query *query; diff --git a/ares/ares_timeout.c b/ares/ares_timeout.c index fa5ae0187..496db8459 100644 --- a/ares/ares_timeout.c +++ b/ares/ares_timeout.c @@ -31,7 +31,8 @@ struct timeval *ares_timeout(ares_channel channel, struct timeval *maxtv, { struct query *query; time_t now; - int offset, min_offset; + time_t offset, min_offset; /* these use time_t since some 32 bit systems + still use 64 bit time_t! (like VS2005) */ /* No queries, no timeout (and no fetch of the current time). */ if (!channel->queries) @@ -57,7 +58,7 @@ struct timeval *ares_timeout(ares_channel channel, struct timeval *maxtv, */ if (min_offset != -1 && (!maxtv || min_offset <= maxtv->tv_sec)) { - tvbuf->tv_sec = min_offset; + tvbuf->tv_sec = (long)min_offset; tvbuf->tv_usec = 0; return tvbuf; } diff --git a/ares/setup.h b/ares/setup.h index 2106df770..a20b8f1b7 100644 --- a/ares/setup.h +++ b/ares/setup.h @@ -144,6 +144,11 @@ int ares_strcasecmp(const char *s1, const char *s2); same */ #define strncasecmp(a,b,c) ares_strncasecmp(a,b,c) #define strcasecmp(a,b) ares_strcasecmp(a,b) +#ifdef _MSC_VER +# if _MSC_VER >= 1400 +# define strdup(a) _strdup(a) +# endif +#endif #endif /* IPv6 compatibility */ -- cgit v1.2.3