ares_gethostbyaddr: fix compiler warning: conversion may lose significant bits
authorYang Tse <yangsita@gmail.com>
Thu, 2 Dec 2010 18:45:00 +0000 (19:45 +0100)
committerYang Tse <yangsita@gmail.com>
Thu, 2 Dec 2010 18:45:00 +0000 (19:45 +0100)
ares_gethostbyaddr.c

index 6acca89..0de2cf2 100644 (file)
@@ -265,11 +265,11 @@ static void ptr_rr_name(char *name, const struct ares_addr *addr)
   if (addr->family == AF_INET)
     {
        unsigned long laddr = ntohl(addr->addrV4.s_addr);
-       unsigned short a1 = (unsigned short)((laddr >> 24) & 0xff);
-       unsigned short a2 = (unsigned short)((laddr >> 16) & 0xff);
-       unsigned short a3 = (unsigned short)((laddr >> 8) & 0xff);
-       unsigned short a4 = (unsigned short)(laddr & 0xff);
-       sprintf(name, "%hu.%hu.%hu.%hu.in-addr.arpa", a4, a3, a2, a1);
+       unsigned long a1 = (laddr >> 24UL) & 0xFFUL;
+       unsigned long a2 = (laddr >> 16UL) & 0xFFUL;
+       unsigned long a3 = (laddr >>  8UL) & 0xFFUL;
+       unsigned long a4 = laddr & 0xFFUL;
+       sprintf(name, "%lu.%lu.%lu.%lu.in-addr.arpa", a4, a3, a2, a1);
     }
   else
     {