summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ares__get_hostent.c4
-rw-r--r--ares_gethostbyaddr.c15
-rw-r--r--ares_gethostbyname.c4
-rw-r--r--ares_process.c4
4 files changed, 17 insertions, 10 deletions
diff --git a/ares__get_hostent.c b/ares__get_hostent.c
index c14919a..90fd88f 100644
--- a/ares__get_hostent.c
+++ b/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_gethostbyaddr.c b/ares_gethostbyaddr.c
index bab4b1c..63abc85 100644
--- a/ares_gethostbyaddr.c
+++ b/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_gethostbyname.c b/ares_gethostbyname.c
index 61fc592..1ef25c7 100644
--- a/ares_gethostbyname.c
+++ b/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_process.c b/ares_process.c
index 3aa75cd..e2d902f 100644
--- a/ares_process.c
+++ b/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 */