From c1b7d9d93dc8e88693162c0d984a114371919fdd Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 24 Jul 2016 20:00:34 +0200 Subject: Implement per-locale string functions strcasecmp_l, strcoll_l, strncasecmp_l, strxfrm_l, wcscasecmp_l, wcscoll_l, wcstrncasecmp_l, wcstrxfrm_l, strftime_l. Add missing CHEWOUT_FILES from previous patch. TODO: strfmon_l. Signed-off by: Corinna Vinschen --- newlib/libc/string/wcscoll_l.c | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 newlib/libc/string/wcscoll_l.c (limited to 'newlib/libc/string/wcscoll_l.c') diff --git a/newlib/libc/string/wcscoll_l.c b/newlib/libc/string/wcscoll_l.c new file mode 100644 index 000000000..e71d02a75 --- /dev/null +++ b/newlib/libc/string/wcscoll_l.c @@ -0,0 +1,43 @@ +/* +FUNCTION + <>---locale-specific wide-character string compare + +INDEX + wcscoll_l + +ANSI_SYNOPSIS + #include + int wcscoll_l(const wchar_t *<[stra]>, const wchar_t * <[strb]>, + locale_t <[locale]>); + +DESCRIPTION + <> compares the wide-character string pointed to by + <[stra]> to the wide-character string pointed to by <[strb]>, + using an interpretation appropriate to the current <> + state. + + (NOT Cygwin:) The current implementation of <> simply + uses <> and does not support any language-specific sorting. + + If <[locale]> is LC_GLOBAL_LOCALE or not a valid locale object, the + behaviour is undefined. + +RETURNS + If the first string is greater than the second string, + <> returns a number greater than zero. If the two + strings are equivalent, <> returns zero. If the first + string is less than the second string, <> returns a + number less than zero. + +PORTABILITY +<> is POSIX-1.2008. +*/ + +#include <_ansi.h> +#include + +int +wcscoll_l (const wchar_t *a, const wchar_t *b, struct __locale_t *locale) +{ + return wcscmp (a, b); +} -- cgit v1.2.3