implement uchar.h (C11 UTF-16/32 conversion) interfaces
[oweals/musl.git] / src / multibyte / mbrtoc32.c
1 #include <uchar.h>
2 #include <wchar.h>
3
4 size_t mbrtoc32(char32_t *restrict pc32, const char *restrict s, size_t n, mbstate_t *restrict ps)
5 {
6         if (!s) return mbrtoc32(0, "", 1, ps);
7         wchar_t wc;
8         size_t ret = mbrtowc(&wc, s, n, ps);
9         if (ret <= 4 && pc32) *pc32 = wc;
10         return ret;
11 }