Tue Jul 2 23:45:14 1996 Ulrich Drepper <drepper@cygnus.com>
authorroland <roland>
Thu, 4 Jul 1996 00:05:57 +0000 (00:05 +0000)
committerroland <roland>
Thu, 4 Jul 1996 00:05:57 +0000 (00:05 +0000)
* stdlib/strtod.c, stdlib/strtol.c, string/strcoll.c,
string/strxfrm.c: Add some more casts to prevent signed<->unsigned
warnings.

stdlib/strtod.c
stdlib/strtol.c
string/strcoll.c
string/strxfrm.c

index aff0045..8985426 100644 (file)
@@ -431,19 +431,19 @@ INTERNAL (STRTOF) (nptr, endptr, group)
   /* Return 0.0 if no legal string is found.
      No character is used even if a sign was found.  */
   if ((c < L_('0') || c > L_('9'))
-      && (c != decimal || cp[1] < L_('0') || cp[1] > L_('9')))
+      && ((wint_t) c != decimal || cp[1] < L_('0') || cp[1] > L_('9')))
     RETURN (0.0, nptr);
 
   /* Record the start of the digits, in case we will check their grouping.  */
   start_of_digits = startp = cp;
 
   /* Ignore leading zeroes.  This helps us to avoid useless computations.  */
-  while (c == L_('0') || (thousands != L'\0' && c == thousands))
+  while (c == L_('0') || (thousands != L'\0' && (wint_t) c == thousands))
     c = *++cp;
 
   /* If no other digit but a '0' is found the result is 0.0.
      Return current read pointer.  */
-  if ((c < L_('0') || c > L_('9')) && c != decimal)
+  if ((c < L_('0') || c > L_('9')) && (wint_t) c != decimal)
     {
       tp = correctly_grouped_prefix (start_of_digits, cp, thousands, grouping);
       /* If TP is at the start of the digits, there was no correctly
@@ -462,7 +462,7 @@ INTERNAL (STRTOF) (nptr, endptr, group)
     {
       if (c >= L_('0') && c <= L_('9'))
        ++dig_no;
-      else if (thousands == L'\0' || c != thousands)
+      else if (thousands == L'\0' || (wint_t) c != thousands)
        /* Not a digit or separator: end of the integer part.  */
        break;
       c = *++cp;
@@ -512,7 +512,7 @@ INTERNAL (STRTOF) (nptr, endptr, group)
 
   /* Read the fractional digits.  A special case are the 'american style'
      numbers like `16.' i.e. with decimal but without trailing digits.  */
-  if (c == decimal)
+  if ((wint_t) c == decimal)
     {
       c = *++cp;
       while (c >= L_('0') && c <= L_('9'))
@@ -609,7 +609,7 @@ INTERNAL (STRTOF) (nptr, endptr, group)
   if (lead_zero)
     {
       /* Find the decimal point */
-      while (*startp != decimal)
+      while ((wint_t) *startp != decimal)
        ++startp;
       startp += lead_zero + 1;
       exponent -= lead_zero;
index 06639a7..3f34e39 100644 (file)
@@ -248,8 +248,9 @@ INTERNAL (strtol) (nptr, endptr, base, group)
       /* Find the end of the digit string and check its grouping.  */
       end = s;
       for (c = *end; c != L_('\0'); c = *++end)
-       if (c != thousands && (c < L_('0') || c > L_('9'))
-           && (!ISALPHA (c) || TOUPPER (c) - L_('A') + 10 >= base))
+       if ((wchar_t) c != thousands
+           && ((wchar_t) c < L_('0') || (wchar_t) c > L_('9'))
+           && (!ISALPHA (c) || (int) (TOUPPER (c) - L_('A') + 10) >= base))
          break;
       if (*s == thousands)
        end = s;
@@ -275,7 +276,7 @@ INTERNAL (strtol) (nptr, endptr, base, group)
        c = TOUPPER (c) - L_('A') + 10;
       else
        break;
-      if (c >= base)
+      if ((int) c >= base)
        break;
       /* Check for overflow.  */
       if (i > cutoff || (i == cutoff && c > cutlim))
index a4bbabc..7061a38 100644 (file)
@@ -75,7 +75,8 @@ STRCOLL (s1, s2)
 
          /* Here we have to check for IGNORE entries.  If these are
             found we count them and go on witht he next value.  */
-         while ((w1 = s1run->data[pass].value[s1idx]) == IGNORE_CHAR)
+         while ((w1 = s1run->data[pass].value[s1idx])
+                == (u_int32_t) IGNORE_CHAR)
            {
              ++s1ignore;
              if ((forward && ++s1idx >= s1run->data[pass].number)
@@ -92,7 +93,8 @@ STRCOLL (s1, s2)
                }
            }
 
-         while ((w2 = s2run->data[pass].value[s2idx]) == IGNORE_CHAR)
+         while ((w2 = s2run->data[pass].value[s2idx])
+                == (u_int32_t) IGNORE_CHAR)
            {
              ++s2ignore;
              if ((forward && ++s2idx >= s2run->data[pass].number)
index f94c16b..6d0a706 100644 (file)
@@ -179,7 +179,7 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n)
 
          /* Here we have to check for IGNORE entries.  If these are
             found we count them and go on witht he next value.  */
-         while ((w = run->data[pass].value[idx]) == IGNORE_CHAR)
+         while ((w = run->data[pass].value[idx]) == (u_int32_t) IGNORE_CHAR)
            {
              ++ignore;
              if ((forward && ++idx >= run->data[pass].number)