OLD | NEW |
1 #include <wchar.h> | 1 #include <wchar.h> |
2 #include <locale.h> | 2 #include <locale.h> |
3 #include "locale_impl.h" | 3 #include "locale_impl.h" |
4 #include "libc.h" | 4 #include "libc.h" |
5 | 5 |
6 /* collate only by code points */ | 6 /* collate only by code points */ |
7 size_t __wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n
, locale_t loc) | 7 size_t __wcsxfrm_l(wchar_t* restrict dest, |
8 { | 8 const wchar_t* restrict src, |
9 » size_t l = wcslen(src); | 9 size_t n, |
10 » if (l < n) { | 10 locale_t loc) { |
11 » » wmemcpy(dest, src, l+1); | 11 size_t l = wcslen(src); |
12 » } else if (n) { | 12 if (l < n) { |
13 » » wmemcpy(dest, src, n-1); | 13 wmemcpy(dest, src, l + 1); |
14 » » dest[n-1] = 0; | 14 } else if (n) { |
15 » } | 15 wmemcpy(dest, src, n - 1); |
16 » return l; | 16 dest[n - 1] = 0; |
| 17 } |
| 18 return l; |
17 } | 19 } |
18 | 20 |
19 size_t wcsxfrm(wchar_t *restrict dest, const wchar_t *restrict src, size_t n) | 21 size_t wcsxfrm(wchar_t* restrict dest, const wchar_t* restrict src, size_t n) { |
20 { | 22 return __wcsxfrm_l(dest, src, n, CURRENT_LOCALE); |
21 » return __wcsxfrm_l(dest, src, n, CURRENT_LOCALE); | |
22 } | 23 } |
23 | 24 |
24 weak_alias(__wcsxfrm_l, wcsxfrm_l); | 25 weak_alias(__wcsxfrm_l, wcsxfrm_l); |
OLD | NEW |