Loading...
string/FreeBSD/strxfrm.c.patch Libc-763.12 Libc-583
--- Libc/Libc-763.12/string/FreeBSD/strxfrm.c.patch
+++ Libc/Libc-583/string/FreeBSD/strxfrm.c.patch
@@ -1,8 +1,8 @@
---- strxfrm.c.bsdnew	2009-11-18 18:24:38.000000000 -0800
-+++ strxfrm.c	2009-11-18 18:38:07.000000000 -0800
-@@ -28,46 +28,118 @@
+--- strxfrm.c.orig	2003-05-20 15:23:55.000000000 -0700
++++ strxfrm.c	2005-04-02 17:59:53.000000000 -0800
+@@ -28,24 +28,59 @@
  #include <sys/cdefs.h>
- __FBSDID("$FreeBSD: src/lib/libc/string/strxfrm.c,v 1.17 2008/10/19 09:10:44 delphij Exp $");
+ __FBSDID("$FreeBSD: src/lib/libc/string/strxfrm.c,v 1.15 2002/09/06 11:24:06 tjr Exp $");
  
 +#include "xlocale_private.h"
 +
@@ -59,10 +59,15 @@
  		return 0;
  	}
  
--	if (__collate_load_error)
+-	if (__collate_load_error) {
 +	NORMALIZE_LOCALE(loc);
-+	if (loc->__collate_load_error || (wcs = __collate_mbstowcs(src, loc)) == NULL)
- 		return strlcpy(dest, src, len);
++	if (loc->__collate_load_error || (wcs = __collate_mbstowcs(src, loc)) == NULL) {
+ 		slen = strlen(src);
+ 		if (len > 0) {
+ 			if (slen < len)
+@@ -58,26 +93,63 @@
+ 		return slen;
+ 	}
  
 -	slen = 0;
 -	prim = sec = 0;