diff options
Diffstat (limited to 'ares')
-rw-r--r-- | ares/ares__get_hostent.c | 4 | ||||
-rw-r--r-- | ares/ares_gethostbyaddr.c | 15 | ||||
-rw-r--r-- | ares/ares_gethostbyname.c | 4 | ||||
-rw-r--r-- | ares/ares_process.c | 4 |
4 files changed, 17 insertions, 10 deletions
diff --git a/ares/ares__get_hostent.c b/ares/ares__get_hostent.c index c14919a97..90fd88f48 100644 --- a/ares/ares__get_hostent.c +++ b/ares/ares__get_hostent.c @@ -47,7 +47,7 @@ int ares__get_hostent(FILE *fp, int family, struct hostent **host) int status, linesize, end_at_hostname, naliases; struct in_addr addr; struct in6_addr addr6; - int addrlen = sizeof(struct in_addr); + size_t addrlen = sizeof(struct in_addr); struct hostent *hostent = NULL; while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS) @@ -162,7 +162,7 @@ int ares__get_hostent(FILE *fp, int family, struct hostent **host) hostent->h_aliases[naliases] = NULL; hostent->h_addrtype = family; - hostent->h_length = addrlen; + hostent->h_length = (int)addrlen; if (family == AF_INET) memcpy(hostent->h_addr_list[0], &addr, addrlen); else if (family == AF_INET6) diff --git a/ares/ares_gethostbyaddr.c b/ares/ares_gethostbyaddr.c index bab4b1c73..63abc85e4 100644 --- a/ares/ares_gethostbyaddr.c +++ b/ares/ares_gethostbyaddr.c @@ -145,16 +145,23 @@ static void addr_callback(void *arg, int status, int timeouts, { struct addr_query *aquery = (struct addr_query *) arg; struct hostent *host; + size_t addrlen; aquery->timeouts += timeouts; if (status == ARES_SUCCESS) { if (aquery->addr.family == AF_INET) - status = ares_parse_ptr_reply(abuf, alen, &aquery->addr.addrV4, - sizeof(struct in_addr), AF_INET, &host); + { + addrlen = sizeof(struct in_addr); + status = ares_parse_ptr_reply(abuf, alen, &aquery->addr.addrV4, + (int)addrlen, AF_INET, &host); + } else - status = ares_parse_ptr_reply(abuf, alen, &aquery->addr.addrV6, - sizeof(struct in6_addr), AF_INET6, &host); + { + addrlen = sizeof(struct in6_addr); + status = ares_parse_ptr_reply(abuf, alen, &aquery->addr.addrV6, + (int)addrlen, AF_INET6, &host); + } end_aquery(aquery, status, host); } else if (status == ARES_EDESTRUCTION) diff --git a/ares/ares_gethostbyname.c b/ares/ares_gethostbyname.c index 61fc59256..1ef25c7a5 100644 --- a/ares/ares_gethostbyname.c +++ b/ares/ares_gethostbyname.c @@ -275,12 +275,12 @@ static int fake_hostent(const char *name, int family, ares_host_callback callbac if (family == AF_INET) { - hostent.h_length = sizeof(struct in_addr); + hostent.h_length = (int)sizeof(struct in_addr); addrs[0] = (char *)∈ } else if (family == AF_INET6) { - hostent.h_length = sizeof(struct in6_addr); + hostent.h_length = (int)sizeof(struct in6_addr); addrs[0] = (char *)&in6; } /* Duplicate the name, to avoid a constness violation. */ diff --git a/ares/ares_process.c b/ares/ares_process.c index 3aa75cdae..e2d902fd1 100644 --- a/ares/ares_process.c +++ b/ares/ares_process.c @@ -1,7 +1,7 @@ /* $Id$ */ /* Copyright 1998 by the Massachusetts Institute of Technology. - * Copyright (C) 2004-2008 by Daniel Stenberg + * Copyright (C) 2004-2009 by Daniel Stenberg * * Permission to use, copy, modify, and distribute this * software and its documentation for any purpose and without @@ -104,7 +104,7 @@ static void end_query(ares_channel channel, struct query *query, int status, int ares__timedout(struct timeval *now, struct timeval *check) { - int secs = (now->tv_sec - check->tv_sec); + long secs = (now->tv_sec - check->tv_sec); if(secs > 0) return 1; /* yes, timed out */ |