update strxfrm/wcsxfrm for future LC_COLLATE support and ABI compat
authorRich Felker <dalias@aerifal.cx>
Wed, 24 Jul 2013 22:44:31 +0000 (18:44 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 24 Jul 2013 22:44:31 +0000 (18:44 -0400)
src/locale/strxfrm.c
src/locale/strxfrm_l.c [deleted file]
src/locale/wcsxfrm.c
src/locale/wcsxfrm_l.c [deleted file]

index d40be9e..0ca9b07 100644 (file)
@@ -1,9 +1,18 @@
 #include <string.h>
 #include <string.h>
+#include <locale.h>
+#include "libc.h"
 
 /* collate only by code points */
 
 /* collate only by code points */
-size_t strxfrm(char *restrict dest, const char *restrict src, size_t n)
+size_t __strxfrm_l(char *restrict dest, const char *restrict src, size_t n, locale_t loc)
 {
        size_t l = strlen(src);
        if (n > l) strcpy(dest, src);
        return l;
 }
 {
        size_t l = strlen(src);
        if (n > l) strcpy(dest, src);
        return l;
 }
+
+size_t strxfrm(char *restrict dest, const char *restrict src, size_t n)
+{
+       return __strxfrm_l(dest, src, n, LC_GLOBAL_LOCALE);
+}
+
+weak_alias(__strxfrm_l, strxfrm_l);
diff --git a/src/locale/strxfrm_l.c b/src/locale/strxfrm_l.c
deleted file mode 100644 (file)
index 81a7bad..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <string.h>
-
-size_t strxfrm_l(char *restrict dest, const char *restrict src, size_t n, locale_t l)
-{
-       return strxfrm(dest, src, n);
-}
index bfa01b5..f977f9e 100644 (file)
@@ -1,7 +1,9 @@
 #include <wchar.h>
 #include <wchar.h>
+#include <locale.h>
+#include "libc.h"
 
 /* collate only by code points */
 
 /* collate only by code points */
-size_t wcsxfrm(wchar_t *restrict dest, const wchar_t *restrict src, size_t n)
+size_t __wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n, locale_t loc)
 {
        size_t l = wcslen(src);
        if (l >= n) {
 {
        size_t l = wcslen(src);
        if (l >= n) {
@@ -10,3 +12,10 @@ size_t wcsxfrm(wchar_t *restrict dest, const wchar_t *restrict src, size_t n)
        } else wcscpy(dest, src);
        return l;
 }
        } else wcscpy(dest, src);
        return l;
 }
+
+size_t wcsxfrm(wchar_t *restrict dest, const wchar_t *restrict src, size_t n)
+{
+       return __wcsxfrm_l(dest, src, n, LC_GLOBAL_LOCALE);
+}
+
+weak_alias(__wcsxfrm_l, wcsxfrm_l);
diff --git a/src/locale/wcsxfrm_l.c b/src/locale/wcsxfrm_l.c
deleted file mode 100644 (file)
index 66a0019..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <wchar.h>
-
-size_t wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n, locale_t locale)
-{
-       return wcsxfrm(dest, src, n);
-}