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/strcoll_l.c | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 newlib/libc/string/strcoll_l.c (limited to 'newlib/libc/string/strcoll_l.c') diff --git a/newlib/libc/string/strcoll_l.c b/newlib/libc/string/strcoll_l.c new file mode 100644 index 000000000..5032f8439 --- /dev/null +++ b/newlib/libc/string/strcoll_l.c @@ -0,0 +1,46 @@ +/* +FUNCTION + <>---locale-specific character string compare + +INDEX + strcoll_l + +ANSI_SYNOPSIS + #include + int strcoll_l(const char *<[stra]>, const char * <[strb]>, + locale_t <[locale]>); + +DESCRIPTION + <> compares the string pointed to by <[stra]> to + the 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. + +<> requires no supporting OS subroutines. + +QUICKREF + strcoll_l ansi pure +*/ + +#include + +int +strcoll_l (const char *a, const char *b, struct __locale_t *locale) +{ + return strcmp (a, b); +} -- cgit v1.2.3