1 /* size_t mbrtoc32( char32_t *, const char *, size_t, mbstate_t * )
3 This file is part of the Public Domain C Library (PDCLib).
4 Permission is granted to use, modify, and / or redistribute at will.
12 #include <_PDCLIB_encoding.h>
13 #include <_PDCLIB_locale.h>
16 char32_t *restrict pc32,
17 const char *restrict s,
19 mbstate_t *restrict ps,
26 if(l->_Codec->__mbstoc32s(&pc32, &dstlen, &s, &nr, ps)) {
27 // Successful conversion
29 // A character was output
31 // The output character resulted entirely from stored state
32 // With UTF-32, this shouldn't be possible?
34 } else if(pc32[-1] == 0) {
38 // Count of processed characters
42 assert(nr == 0 && "Must have processed whole input");
53 char32_t *restrict pc32,
54 const char *restrict s,
56 mbstate_t *restrict ps
59 return mbrtoc32_l(pc32, s, n, ps, _PDCLIB_threadlocale());
65 #include <_PDCLIB_test.h>
69 TESTCASE( NO_TESTDRIVER );