OSDN Git Service

* decNumber.c (decStrEq): Cast string contents to unsigned char
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Dec 2005 18:48:47 +0000 (18:48 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Dec 2005 18:48:47 +0000 (18:48 +0000)
        instead of int before calling tolower.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108862 138bc75d-0d04-0410-961f-82ee72b054a4

libdecnumber/ChangeLog
libdecnumber/decNumber.c

index f7368a4..706beaa 100644 (file)
@@ -1,5 +1,10 @@
 2005-12-20  Roger Sayle  <roger@eyesopen.com>
 
+       * decNumber.c (decStrEq): Cast string contents to unsigned char
+       instead of int before calling tolower.
+
+2005-12-20  Roger Sayle  <roger@eyesopen.com>
+
        * decNumber.c (decStrEq): Cast operands to int before calling
        tolower to avoid compilation warnings on Tru64.
 
index 0625e9f..bc11ace 100644 (file)
@@ -5438,14 +5438,16 @@ decStrEq (const char *str1, const char *str2)
 {
   for (;; str1++, str2++)
     {
-      if (*str1 == *str2)
+      unsigned char u1 = (unsigned char) *str1;
+      unsigned char u2 = (unsigned char) *str2;
+      if (u1 == u2)
        {
-         if (*str1 == '\0')
+         if (u1 == '\0')
            break;
        }
       else
        {
-         if (tolower ((int) *str1) != tolower ((int) *str2))
+         if (tolower (u1) != tolower (u2))
            return 0;
        }
     }                          /* stepping */