25845f
Fix type errors in string tests introduced by the patches to implement
25845f
rhbz#1268008.
25845f
25845f
Patch originally from Stefan Liebler <STLI@de.ibm.com>.
25845f
25845f
diff --git a/benchtests/bench-stpncpy.c b/benchtests/bench-stpncpy.c
25845f
index e428102f5db30cfc..d37b401e303fd4bc 100644
25845f
--- a/benchtests/bench-stpncpy.c
25845f
+++ b/benchtests/bench-stpncpy.c
25845f
@@ -74,4 +74,5 @@ STUPID_STPNCPY (CHAR *dst, const CHAR *src, size_t n)
25845f
   return dst + nc;
25845f
 }
25845f
 
25845f
+#undef CHAR
25845f
 #include "bench-strncpy.c"
25845f
diff --git a/benchtests/bench-strncpy.c b/benchtests/bench-strncpy.c
25845f
index 2cfd56ab5ab2cb06..94f66f93acfd18fc 100644
25845f
--- a/benchtests/bench-strncpy.c
25845f
+++ b/benchtests/bench-strncpy.c
25845f
@@ -144,6 +144,8 @@ do_test (size_t align1, size_t align2, size_t len, size_t n, int max_char)
25845f
   size_t i;
25845f
   CHAR *s1, *s2;
25845f
 
25845f
+/* For wcsncpy: align1 and align2 here mean alignment not in bytes,
25845f
+   but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t)).  */
25845f
   align1 &= 7;
25845f
   if ((align1 + len) * sizeof (CHAR) >= page_size)
25845f
     return;
25845f
@@ -152,8 +154,8 @@ do_test (size_t align1, size_t align2, size_t len, size_t n, int max_char)
25845f
   if ((align2 + len) * sizeof (CHAR) >= page_size)
25845f
     return;
25845f
 
25845f
-  s1 = (CHAR *) (buf1 + align1);
25845f
-  s2 = (CHAR *) (buf2 + align2);
25845f
+  s1 = (CHAR *) (buf1) + align1;
25845f
+  s2 = (CHAR *) (buf2) + align2;
25845f
 
25845f
   for (i = 0; i < len; ++i)
25845f
     s1[i] = 32 + 23 * i % (max_char - 32);
25845f
diff --git a/benchtests/bench-strspn.c b/benchtests/bench-strspn.c
25845f
index e1f227278480ac7a..39039d09915e191e 100644
25845f
--- a/benchtests/bench-strspn.c
25845f
+++ b/benchtests/bench-strspn.c
25845f
@@ -139,7 +139,7 @@ do_test (size_t align, size_t pos, size_t len)
25845f
   for (i = 0; i < pos; ++i)
25845f
     s[i] = acc[random () % len];
25845f
   s[pos] = random () & BIG_CHAR;
25845f
-  if (strchr (acc, s[pos]))
25845f
+  if (STRCHR (acc, s[pos]))
25845f
     s[pos] = '\0';
25845f
   else
25845f
     {
25845f
diff --git a/string/test-stpncpy.c b/string/test-stpncpy.c
25845f
index 69c8181269523def..f35340957f7092a9 100644
25845f
--- a/string/test-stpncpy.c
25845f
+++ b/string/test-stpncpy.c
25845f
@@ -75,4 +75,5 @@ STUPID_STPNCPY (CHAR *dst, const CHAR *src, size_t n)
25845f
   return dst + nc;
25845f
 }
25845f
 
25845f
+#undef CHAR
25845f
 #include "test-strncpy.c"
25845f
diff --git a/string/test-strcat.c b/string/test-strcat.c
25845f
index a822733cff7fd39e..dca8dd47aa119ce0 100644
25845f
--- a/string/test-strcat.c
25845f
+++ b/string/test-strcat.c
25845f
@@ -71,7 +71,7 @@ SIMPLE_STRCAT (CHAR *dst, const CHAR *src)
25845f
 }
25845f
 
25845f
 static void
25845f
-do_one_test (impl_t *impl, CHAR *dst, const char *src)
25845f
+do_one_test (impl_t *impl, CHAR *dst, const CHAR *src)
25845f
 {
25845f
   size_t k = STRLEN (dst);
25845f
   if (CALL (impl, dst, src) != dst)
25845f
diff --git a/string/test-strncmp.c b/string/test-strncmp.c
25845f
index 950bf248385787b6..63b16eaa385f942a 100644
25845f
--- a/string/test-strncmp.c
25845f
+++ b/string/test-strncmp.c
25845f
@@ -210,7 +210,7 @@ do_test (size_t align1, size_t align2, size_t len, size_t n, int max_char,
25845f
   if (align1 + (n + 1) * CHARBYTES >= page_size)
25845f
     return;
25845f
 
25845f
-  align2 &= 7;
25845f
+  align2 &= 63;
25845f
   if (align2 + (n + 1) * CHARBYTES >= page_size)
25845f
     return;
25845f
 
25845f
@@ -359,8 +359,8 @@ check1 (void)
25845f
   size_t i, offset;
25845f
   int exp_result;
25845f
 
25845f
-  strcpy(s1, L("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrs"));
25845f
-  strcpy(s2, L("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkLMNOPQRSTUV"));
25845f
+  STRCPY(s1, L("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrs"));
25845f
+  STRCPY(s2, L("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkLMNOPQRSTUV"));
25845f
 
25845f
   /* Check possible overflow bug for wcsncmp */
25845f
   s1[4] = CHAR__MAX;
25845f
diff --git a/string/test-strncpy.c b/string/test-strncpy.c
25845f
index bdccc98301f22c10..1dbc57d9c33e6eb9 100644
25845f
--- a/string/test-strncpy.c
25845f
+++ b/string/test-strncpy.c
25845f
@@ -94,7 +94,7 @@ STUPID_STRNCPY (CHAR *dst, const CHAR *src, size_t n)
25845f
 typedef CHAR *(*proto_t) (CHAR *, const CHAR *, size_t);
25845f
 
25845f
 static void
25845f
-do_one_test (impl_t *impl, CHAR *dst, const char *src, size_t len, size_t n)
25845f
+do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, size_t len, size_t n)
25845f
 {
25845f
   if (CALL (impl, dst, src, n) != STRNCPY_RESULT (dst, len, n))
25845f
     {
25845f
diff --git a/string/test-strnlen.c b/string/test-strnlen.c
25845f
index 43db896e917ec4e0..db999b53fb546460 100644
25845f
--- a/string/test-strnlen.c
25845f
+++ b/string/test-strnlen.c
25845f
@@ -80,7 +80,7 @@ do_test (size_t align, size_t len, size_t maxlen, int max_char)
25845f
   CHAR *buf = (CHAR *) (buf1);
25845f
 
25845f
   for (i = 0; i < len; ++i)
25845f
-    buf[align + i] = 1 + 7 * i % max_char;
25845f
+    buf[align + i] = 1 + 11111 * i % max_char;
25845f
   buf[align + len] = 0;
25845f
 
25845f
   FOR_EACH_IMPL (impl, 0)