diff options
Diffstat (limited to 'src/multibyte/mbrtoc32.c')
-rw-r--r-- | src/multibyte/mbrtoc32.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/multibyte/mbrtoc32.c b/src/multibyte/mbrtoc32.c new file mode 100644 index 00000000..c6d20824 --- /dev/null +++ b/src/multibyte/mbrtoc32.c @@ -0,0 +1,11 @@ +#include <uchar.h> +#include <wchar.h> + +size_t mbrtoc32(char32_t *restrict pc32, const char *restrict s, size_t n, mbstate_t *restrict ps) +{ + if (!s) return mbrtoc32(0, "", 1, ps); + wchar_t wc; + size_t ret = mbrtowc(&wc, s, n, ps); + if (ret <= 4 && pc32) *pc32 = wc; + return ret; +} |