mirror of
git://git.musl-libc.org/musl
synced 2025-02-12 08:57:08 +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 <locale.h>
|
||||
#include "libc.h"
|
||||
|
||||
/* 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 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 <locale.h>
|
||||
#include "libc.h"
|
||||
|
||||
/* 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) {
|
||||
@ -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;
|
||||
}
|
||||
|
||||
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