]> git.saurik.com Git - apple/libc.git/blobdiff - string/FreeBSD/strxfrm.c.patch
Libc-763.11.tar.gz
[apple/libc.git] / string / FreeBSD / strxfrm.c.patch
index 221d31f68a5f0a31160486ba546aad23e44dbec0..51786041b0ba88d906fb11cfa8f1889dd4fc7e39 100644 (file)
@@ -1,8 +1,8 @@
---- 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 @@
+--- 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 @@
  #include <sys/cdefs.h>
- __FBSDID("$FreeBSD: src/lib/libc/string/strxfrm.c,v 1.15 2002/09/06 11:24:06 tjr Exp $");
+ __FBSDID("$FreeBSD: src/lib/libc/string/strxfrm.c,v 1.17 2008/10/19 09:10:44 delphij Exp $");
  
 +#include "xlocale_private.h"
 +
                return 0;
        }
  
--      if (__collate_load_error) {
+-      if (__collate_load_error)
 +      NORMALIZE_LOCALE(loc);
-+      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;
-       }
++      if (loc->__collate_load_error || (wcs = __collate_mbstowcs(src, loc)) == NULL)
+               return strlcpy(dest, src, len);
  
 -      slen = 0;
 -      prim = sec = 0;