(__STRING_SMALLL_GET16): Cast source pointer before dereferencing.
authordrepper <drepper>
Tue, 14 Jan 2003 06:42:08 +0000 (06:42 +0000)
committerdrepper <drepper>
Tue, 14 Jan 2003 06:42:08 +0000 (06:42 +0000)
(__STRING_SMALLL_GET32): Likewise.
(__memset_gc): Add missing parenthesis around macro arguments.

sysdeps/i386/i486/bits/string.h

index 9f05d43..ad0350e 100644 (file)
 
 /* The macros are used in some of the optimized implementations below.  */
 #define __STRING_SMALL_GET16(src, idx) \
-  (((src)[idx + 1] << 8) | (src)[idx])
+  (((__const char *) (src))[idx + 1] << 8) | ((__const char *) (src))[idx])
 #define __STRING_SMALL_GET32(src, idx) \
-  ((((src)[idx + 3] << 8 | (src)[idx + 2]) << 8                                      \
-    | (src)[idx + 1]) << 8 | (src)[idx])
+  (((((__const char *) (src))[idx + 3] << 8                                  \
+     | ((__const char *) (src))[idx + 2]) << 8                               \
+    | ((__const char *) (src))[idx + 1]) << 8                                \
+   | ((__const char *) (src))[idx])
 
 
 /* Copy N bytes of SRC to DEST.  */
@@ -230,7 +232,7 @@ memcmp (__const void *__s1, __const void *__s2, size_t __n)
        assignments using immediate operands.  But this uses to much          \
        memory (7, instead of 4 bytes).  So we force the value in a           \
        registers.  */                                                        \
-     if (n == 3 || n >= 5)                                                   \
+     if ((n) == 3 || (n) >= 5)                                               \
        __asm__ __volatile__ ("" : "=r" (__c) : "0" (__c));                   \
                                                                              \
      /* This `switch' statement will be removed at compile-time.  */         \
@@ -1657,7 +1659,8 @@ __strspn_cg (__const char *__s, __const char __accept[], size_t __accept_len)
      "2:"
      : "=S" (__res), "=&d" (__d0), "=&c" (__d1), "=&D" (__d2), "=&a" (__d3)
      : "0" (__s), "1" (__accept), "g" (__accept_len),
-       /* Since we do not know how large the memory we access it, use a really large amount.  */
+       /* Since we do not know how large the memory we access it, use a
+         really large amount.  */
        "m" ( *(struct { char __x[0xfffffff]; } *)__s),
        "m" ( *(struct { __extension__ char __x[__accept_len]; } *)__accept)
      : "cc");