X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=internals%2F_PDCLIB_encoding.h;h=11e2ac5ee27c81e99903d007363dcae4553c5f27;hb=d70d75f5f46047f7546b14f424cccad7316bff6a;hp=81e6a9ef615949157b4db2505eaacfb66c2c5793;hpb=77c1d4608c25cf474a84c35eafc978b44b3c230c;p=pdclib.old diff --git a/internals/_PDCLIB_encoding.h b/internals/_PDCLIB_encoding.h index 81e6a9e..11e2ac5 100644 --- a/internals/_PDCLIB_encoding.h +++ b/internals/_PDCLIB_encoding.h @@ -9,8 +9,8 @@ #include "_PDCLIB_int.h" #ifndef __cplusplus -typedef _PDCLIB_int_least16_t _PDCLIB_char16_t; -typedef _PDCLIB_int_least32_t _PDCLIB_char32_t; +typedef _PDCLIB_int16_t _PDCLIB_char16_t; +typedef _PDCLIB_int32_t _PDCLIB_char32_t; #else typedef char16_t _PDCLIB_char16_t; typedef char32_t _PDCLIB_char32_t; @@ -27,7 +27,7 @@ typedef char32_t _PDCLIB_char32_t; static inline int _PDCLIB_wcrtoc32( _PDCLIB_char32_t *_PDCLIB_restrict out, const _PDCLIB_wchar_t *_PDCLIB_restrict in, - _PDCLIB__PDCLIB_size_t bufsize, + _PDCLIB_size_t bufsize, _PDCLIB_mbstate_t *_PDCLIB_restrict ps ) { @@ -68,7 +68,7 @@ static inline int _PDCLIB_wcrtoc32( static inline _PDCLIB_size_t _PDCLIB_c32rtowc( _PDCLIB_wchar_t *_PDCLIB_restrict out, const _PDCLIB_char32_t *_PDCLIB_restrict in, - _PDCLIB__PDCLIB_size_t bufsize, + _PDCLIB_size_t bufsize, _PDCLIB_mbstate_t *_PDCLIB_restrict ps ) { @@ -99,7 +99,7 @@ static inline _PDCLIB_size_t _PDCLIB_c32rtowc( static inline _PDCLIB_size_t _PDCLIB_wcrtoc32( _PDCLIB_char32_t *_PDCLIB_restrict out, const _PDCLIB_wchar_t *_PDCLIB_restrict in, - _PDCLIB__PDCLIB_size_t bufsize, + _PDCLIB_size_t bufsize, _PDCLIB_mbstate_t *_PDCLIB_restrict ps ) { @@ -110,7 +110,7 @@ static inline _PDCLIB_size_t _PDCLIB_wcrtoc32( static inline _PDCLIB_size_t _PDCLIB_c32rtowc( _PDCLIB_wchar_t *_PDCLIB_restrict out, const _PDCLIB_char32_t *_PDCLIB_restrict in, - _PDCLIB__PDCLIB_size_t bufsize, + _PDCLIB_size_t bufsize, _PDCLIB_mbstate_t *_PDCLIB_restrict ps ) { @@ -120,7 +120,15 @@ static inline _PDCLIB_size_t _PDCLIB_c32rtowc( #endif typedef struct { - _PDCLIB_bool_t (*__mbtoc32)( + /* Reads at most *_P_insz bytes from *_P_inbuf and writes the result into + * *_P_outbuf, writing at most *_P_outsz characters. Updates *_P_outbuf, + * *_P_outsz, *_P_inbuf, *_P_outsz with the resulting state + * + * Returns true if the conversion completed successfully (i.e. one of + * _P_outsize or _P_insize reached zero and no coding errors were + * encountered), else return false. + */ + _PDCLIB_bool (*__mbtoc32)( _PDCLIB_char32_t **_PDCLIB_restrict _P_outbuf, _PDCLIB_size_t *_PDCLIB_restrict _P_outsz, const char **_PDCLIB_restrict _P_inbuf, @@ -128,7 +136,7 @@ typedef struct { _PDCLIB_mbstate_t *_PDCLIB_restrict _P_ps ); - _PDCLIB_bool_t (*__c32tomb)( + _PDCLIB_bool (*__c32tomb)( char **_PDCLIB_restrict _P_outbuf, _PDCLIB_size_t *_PDCLIB_restrict _P_outsz, const _PDCLIB_char32_t **_PDCLIB_restrict _P_inbuf,