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