Loading...
--- wcscasecmp.c.orig 2009-12-16 12:51:30.000000000 -0800 +++ wcscasecmp.c 2009-12-16 12:59:33.000000000 -0800 @@ -27,19 +27,27 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD: src/lib/libc/string/wcscasecmp.c,v 1.1 2009/02/28 06:00:58 das Exp $"); +#include "xlocale_private.h" + #include <wchar.h> #include <wctype.h> int -wcscasecmp(const wchar_t *s1, const wchar_t *s2) +wcscasecmp_l(const wchar_t *s1, const wchar_t *s2, locale_t loc) { wchar_t c1, c2; for (; *s1; s1++, s2++) { - c1 = towlower(*s1); - c2 = towlower(*s2); + c1 = towlower_l(*s1, loc); + c2 = towlower_l(*s2, loc); if (c1 != c2) return ((int)c1 - c2); } return (-*s2); } + +int +wcscasecmp(const wchar_t *s1, const wchar_t *s2) { + return wcscasecmp_l(s1, s2, __current_locale()); +} + |