mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01:00
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>
This commit is contained in:
parent
77a9e5c97e
commit
0b9d2d4a76
1 changed files with 24 additions and 14 deletions
|
@ -26,14 +26,12 @@
|
||||||
|
|
||||||
#ifdef WIDE
|
#ifdef WIDE
|
||||||
# include <wchar.h>
|
# include <wchar.h>
|
||||||
# define SIMPLE_STRRCHR simple_wcsrchr
|
|
||||||
# define STRRCHR wcsrchr
|
# define STRRCHR wcsrchr
|
||||||
# define CHAR wchar_t
|
# define CHAR wchar_t
|
||||||
# define UCHAR wchar_t
|
# define UCHAR wchar_t
|
||||||
# define BIG_CHAR WCHAR_MAX
|
# define BIG_CHAR WCHAR_MAX
|
||||||
# define SMALL_CHAR 1273
|
# define SMALL_CHAR 1273
|
||||||
#else
|
#else
|
||||||
# define SIMPLE_STRRCHR simple_strrchr
|
|
||||||
# define STRRCHR strrchr
|
# define STRRCHR strrchr
|
||||||
# define CHAR char
|
# define CHAR char
|
||||||
# define UCHAR unsigned char
|
# define UCHAR unsigned char
|
||||||
|
@ -45,18 +43,30 @@ typedef CHAR *(*proto_t) (const CHAR *, int);
|
||||||
|
|
||||||
IMPL (STRRCHR, 1)
|
IMPL (STRRCHR, 1)
|
||||||
|
|
||||||
/* Naive implementation to verify results. */
|
/* Also check the generic implementation. */
|
||||||
CHAR *
|
#undef STRRCHR
|
||||||
SIMPLE_STRRCHR (const CHAR *s, int c)
|
#undef weak_alias
|
||||||
{
|
#define weak_alias(a, b)
|
||||||
const CHAR *ret = NULL;
|
#undef libc_hidden_builtin_def
|
||||||
|
#define libc_hidden_builtin_def(a)
|
||||||
for (; *s != '\0'; ++s)
|
#undef libc_hidden_def
|
||||||
if (*s == (CHAR) c)
|
#define libc_hidden_def(a)
|
||||||
ret = s;
|
#undef libc_hidden_weak
|
||||||
|
#define libc_hidden_weak(a)
|
||||||
return (CHAR *) (c == '\0' ? s : ret);
|
#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
|
static void
|
||||||
do_one_test (impl_t *impl, const CHAR *s, int c, CHAR *exp_res)
|
do_one_test (impl_t *impl, const CHAR *s, int c, CHAR *exp_res)
|
||||||
|
|
Loading…
Add table
Reference in a new issue