aboutsummaryrefslogtreecommitdiff
path: root/string/test-strrchr.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-02-02 13:57:20 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-02-06 16:19:35 -0300
commit0b9d2d4a76508fdcbd9f421cdd98bf324c22af3c (patch)
tree3e9e717dfc450737214e589c32be6ba994c75f9e /string/test-strrchr.c
parent77a9e5c97eddec0db76b288c90c5ee2e4fe65ba5 (diff)
downloadglibc-0b9d2d4a76508fdcbd9f421cdd98bf324c22af3c.zip
glibc-0b9d2d4a76508fdcbd9f421cdd98bf324c22af3c.tar.gz
glibc-0b9d2d4a76508fdcbd9f421cdd98bf324c22af3c.tar.bz2
string: Hook up the default implementation on test-strrchr
And remove SIMPLE_STRRCHR, which is not used anywhere. Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'string/test-strrchr.c')
-rw-r--r--string/test-strrchr.c38
1 files changed, 24 insertions, 14 deletions
diff --git a/string/test-strrchr.c b/string/test-strrchr.c
index 2cd5de4..c979574 100644
--- a/string/test-strrchr.c
+++ b/string/test-strrchr.c
@@ -26,14 +26,12 @@
#ifdef WIDE
# include <wchar.h>
-# define SIMPLE_STRRCHR simple_wcsrchr
# define STRRCHR wcsrchr
# define CHAR wchar_t
# define UCHAR wchar_t
# define BIG_CHAR WCHAR_MAX
# define SMALL_CHAR 1273
#else
-# define SIMPLE_STRRCHR simple_strrchr
# define STRRCHR strrchr
# define CHAR char
# define UCHAR unsigned char
@@ -45,18 +43,30 @@ typedef CHAR *(*proto_t) (const CHAR *, int);
IMPL (STRRCHR, 1)
-/* Naive implementation to verify results. */
-CHAR *
-SIMPLE_STRRCHR (const CHAR *s, int c)
-{
- const CHAR *ret = NULL;
-
- for (; *s != '\0'; ++s)
- if (*s == (CHAR) c)
- ret = s;
-
- return (CHAR *) (c == '\0' ? s : ret);
-}
+/* Also check the generic implementation. */
+#undef STRRCHR
+#undef weak_alias
+#define weak_alias(a, b)
+#undef libc_hidden_builtin_def
+#define libc_hidden_builtin_def(a)
+#undef libc_hidden_def
+#define libc_hidden_def(a)
+#undef libc_hidden_weak
+#define libc_hidden_weak(a)
+#ifndef WIDE
+# define STRLEN __strlen_default
+# include "string/strlen.c"
+# define MEMRCHR __memrchr_default
+# include "string/memrchr.c"
+# define STRRCHR __strrchr_default
+# include "string/strrchr.c"
+# define STRRCHR_DEFAULT __strrchr_default
+#else
+# define WCSRCHR __wcsrchr_default
+# include "wcsmbs/wcsrchr.c"
+# define STRRCHR_DEFAULT __wcsrchr_default
+#endif
+IMPL (STRRCHR_DEFAULT, 1)
static void
do_one_test (impl_t *impl, const CHAR *s, int c, CHAR *exp_res)