diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2023-02-02 13:57:20 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2023-02-06 16:19:35 -0300 |
commit | 0b9d2d4a76508fdcbd9f421cdd98bf324c22af3c (patch) | |
tree | 3e9e717dfc450737214e589c32be6ba994c75f9e /string/test-strrchr.c | |
parent | 77a9e5c97eddec0db76b288c90c5ee2e4fe65ba5 (diff) | |
download | glibc-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.c | 38 |
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) |