Loading...
--- Libc/Libc-583/string/FreeBSD/strcasecmp.c.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- strcasecmp.c.orig 2003-05-20 15:23:54.000000000 -0700
-+++ strcasecmp.c 2005-02-18 18:46:40.000000000 -0800
-@@ -37,41 +37,62 @@
- #include <sys/cdefs.h>
- __FBSDID("$FreeBSD: src/lib/libc/string/strcasecmp.c,v 1.6 2002/08/30 15:40:01 robert Exp $");
-
-+#include "xlocale_private.h"
-+
- #include <strings.h>
- #include <ctype.h>
-
- typedef unsigned char u_char;
-
- int
--strcasecmp(s1, s2)
-+strcasecmp_l(s1, s2, loc)
- const char *s1, *s2;
-+ locale_t loc;
- {
- const u_char
- *us1 = (const u_char *)s1,
- *us2 = (const u_char *)s2;
-
-- while (tolower(*us1) == tolower(*us2++))
-+ NORMALIZE_LOCALE(loc);
-+ while (tolower_l(*us1, loc) == tolower_l(*us2++, loc))
- if (*us1++ == '\0')
- return (0);
-- return (tolower(*us1) - tolower(*--us2));
-+ return (tolower_l(*us1, loc) - tolower_l(*--us2, loc));
- }
-
- int
--strncasecmp(s1, s2, n)
-+strcasecmp(s1, s2)
-+ const char *s1, *s2;
-+{
-+ return strcasecmp_l(s1, s2, __current_locale());
-+}
-+
-+int
-+strncasecmp_l(s1, s2, n, loc)
- const char *s1, *s2;
- size_t n;
-+ locale_t loc;
- {
-+ NORMALIZE_LOCALE(loc);
- if (n != 0) {
- const u_char
- *us1 = (const u_char *)s1,
- *us2 = (const u_char *)s2;
-
- do {
-- if (tolower(*us1) != tolower(*us2++))
-- return (tolower(*us1) - tolower(*--us2));
-+ if (tolower_l(*us1, loc) != tolower_l(*us2++, loc))
-+ return (tolower_l(*us1, loc) - tolower_l(*--us2, loc));
- if (*us1++ == '\0')
- break;
- } while (--n != 0);
- }
- return (0);
- }
-+
-+int
-+strncasecmp(s1, s2, n)
-+ const char *s1, *s2;
-+ size_t n;
-+{
-+ return strncasecmp_l(s1, s2, n, __current_locale());
-+}