mirror of
git://git.musl-libc.org/musl
synced 2025-02-14 18:07:03 +00:00
update strxfrm/wcsxfrm for future LC_COLLATE support and ABI compat
This commit is contained in:
parent
4350935ca4
commit
ad4a536769
@ -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);
|
size_t l = strlen(src);
|
||||||
if (n > l) strcpy(dest, src);
|
if (n > l) strcpy(dest, src);
|
||||||
return l;
|
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);
|
||||||
|
@ -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);
|
|
||||||
}
|
|
@ -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);
|
size_t l = wcslen(src);
|
||||||
if (l >= n) {
|
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);
|
} else wcscpy(dest, src);
|
||||||
return l;
|
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);
|
||||||
|
@ -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);
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user