X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Flocale%2Fwcsxfrm.c;h=5d89e7dd522747d0167ca7e4e4e78b46ab6966cd;hb=6fbdeff0e51f6afc38fbb1476a4db81322779da4;hp=f977f9e19a50bd1acd6b9be5361cb5135e090eb4;hpb=ad4a536769b5d4a736e324a7416571b0c17e47b9;p=musl diff --git a/src/locale/wcsxfrm.c b/src/locale/wcsxfrm.c index f977f9e1..5d89e7dd 100644 --- a/src/locale/wcsxfrm.c +++ b/src/locale/wcsxfrm.c @@ -6,16 +6,18 @@ 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) { + if (l < n) { + wmemcpy(dest, src, l+1); + } else if (n) { wmemcpy(dest, src, n-1); dest[n-1] = 0; - } 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); + return __wcsxfrm_l(dest, src, n, 0); } weak_alias(__wcsxfrm_l, wcsxfrm_l);