Fix compiler warning: array subscript has type 'char'
authorYang Tse <yangsita@gmail.com>
Fri, 12 Nov 2010 18:46:13 +0000 (19:46 +0100)
committerYang Tse <yangsita@gmail.com>
Fri, 12 Nov 2010 18:46:13 +0000 (19:46 +0100)
acountry.c
ares_getnameinfo.c
setup_once.h

index 1de31d82ec0a5c26313dca3e901698e24a1022ec..4c2816afe097cfc2ea11902f9469d611750407f8 100644 (file)
@@ -558,8 +558,8 @@ static void find_country_from_cname(const char *cname, struct in_addr addr)
   unsigned long ip;
 
   ip = ntohl(addr.s_addr);
-  z0 = tolower(cname[0]);
-  z1 = tolower(cname[1]);
+  z0 = TOLOWER(cname[0]);
+  z1 = TOLOWER(cname[1]);
   ccopy = strdup(cname);
   dot_4 = NULL;
 
@@ -577,8 +577,8 @@ static void find_country_from_cname(const char *cname, struct in_addr addr)
     }
   else if (ver_2)
     {
-      z0 = tolower(dot_4[1]);
-      z1 = tolower(dot_4[2]);
+      z0 = TOLOWER(dot_4[1]);
+      z1 = TOLOWER(dot_4[2]);
       if (z0 != 'z' && z1 != 'z')
         {
           printf("Unexpected CNAME %s (ver_2)\n", cname);
@@ -593,8 +593,8 @@ static void find_country_from_cname(const char *cname, struct in_addr addr)
 
   if (ver_1)
     {
-      ccode_A2[0] = (char)tolower(cname[2]);
-      ccode_A2[1] = (char)tolower(cname[3]);
+      ccode_A2[0] = (char)TOLOWER(cname[2]);
+      ccode_A2[1] = (char)TOLOWER(cname[3]);
       ccode_A2[2] = '\0';
     }
   else
index 49250edbf8098f9182a0822493c019dd9293f548..151d12d24d7c6967090c8cb2c41108650984e50b 100644 (file)
@@ -408,8 +408,8 @@ static char *ares_striendstr(const char *s1, const char *s2)
   c2 = s2;
   while (c2 < s2+s2_len)
     {
-      lo1 = tolower(*c1);
-      lo2 = tolower(*c2);
+      lo1 = TOLOWER(*c1);
+      lo2 = TOLOWER(*c2);
       if (lo1 != lo2)
         return NULL;
       else
index 17ef226bec1d24b9bc5c5bc839511890f8c4d32a..0c7c811194c72817b3cf6119ae5552d3cf369e2b 100644 (file)
@@ -252,6 +252,8 @@ struct timeval {
 #define ISBLANK(x)  (int)((((unsigned char)x) == ' ') || \
                           (((unsigned char)x) == '\t'))
 
+#define TOLOWER(x)  (tolower((int)  ((unsigned char)x)))
+
 
 /*
  * 'bool' exists on platforms with <stdbool.h>, i.e. C99 platforms.