4 size_t mbrtoc32(char32_t
*restrict pc32
, const char *restrict s
, size_t n
, mbstate_t *restrict ps
)
6 static unsigned internal_state
;
7 if (!ps
) ps
= (void *)&internal_state
;
8 if (!s
) return mbrtoc32(0, "", 1, ps
);
10 size_t ret
= mbrtowc(&wc
, s
, n
, ps
);
11 if (ret
<= 4 && pc32
) *pc32
= wc
;