Loading...
string/FreeBSD/strcasecmp.c.patch Libc-763.13 /dev/null
--- Libc/Libc-763.13/string/FreeBSD/strcasecmp.c.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- strcasecmp.c.bsdnew	2009-11-18 18:24:33.000000000 -0800
-+++ strcasecmp.c	2009-11-18 18:24:33.000000000 -0800
-@@ -33,38 +33,59 @@ static char sccsid[] = "@(#)strcasecmp.c
- #include <sys/cdefs.h>
- __FBSDID("$FreeBSD: src/lib/libc/string/strcasecmp.c,v 1.8 2009/02/03 17:58:20 danger Exp $");
- 
-+#include "xlocale_private.h"
-+
- #include <strings.h>
- #include <ctype.h>
- 
- typedef unsigned char u_char;
- 
- int
--strcasecmp(const char *s1, const char *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(const char *s1, const char *s2, size_t n)
-+strcasecmp(const char *s1, const char *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(const char *s1, const char *s2, size_t n)
-+{
-+	return strncasecmp_l(s1, s2, n, __current_locale());
-+}