fix compiler warning: implicit conversion shortens 64-bit value into a 32-bit value
authorYang Tse <yangsita@gmail.com>
Tue, 14 Apr 2009 12:53:53 +0000 (12:53 +0000)
committerYang Tse <yangsita@gmail.com>
Tue, 14 Apr 2009 12:53:53 +0000 (12:53 +0000)
ares__get_hostent.c
ares_gethostbyaddr.c
ares_gethostbyname.c
ares_process.c

index c14919a..90fd88f 100644 (file)
@@ -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)
index bab4b1c..63abc85 100644 (file)
@@ -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)
index 61fc592..1ef25c7 100644 (file)
@@ -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 *)&in;
     }
   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. */
index 3aa75cd..e2d902f 100644 (file)
@@ -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 */