]> git.saurik.com Git - apple/libc.git/blobdiff - string/FreeBSD/wcscasecmp.c.patch
Libc-763.11.tar.gz
[apple/libc.git] / string / FreeBSD / wcscasecmp.c.patch
diff --git a/string/FreeBSD/wcscasecmp.c.patch b/string/FreeBSD/wcscasecmp.c.patch
new file mode 100644 (file)
index 0000000..aa62f56
--- /dev/null
@@ -0,0 +1,33 @@
+--- 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());
++}
++