X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=opt%2Fbasecodecs%2F_PDCLIB_ascii.c;h=ac5a593d963266367c61b18f814b834eda2fff08;hp=e84563f747a68b7a50ed8b3a3dfc63f6e3322dcc;hb=da0f3f353d417fed71f358a48d5d5394145e460d;hpb=0a419d48138f1411d6e3e50a367b9ece5a2cf893 diff --git a/opt/basecodecs/_PDCLIB_ascii.c b/opt/basecodecs/_PDCLIB_ascii.c index e84563f..ac5a593 100644 --- a/opt/basecodecs/_PDCLIB_ascii.c +++ b/opt/basecodecs/_PDCLIB_ascii.c @@ -7,14 +7,17 @@ #include #ifndef REGTEST #include -#include <_PDCLIB_encoding.h> +#include "_PDCLIB_encoding.h" + +static bool ascii_mbsinit( const mbstate_t *ps ) +{ return 1; } static bool asciitoc32( - char32_t **restrict p_outbuf, - size_t *restrict p_outsz, - const char **restrict p_inbuf, - size_t *restrict p_insz, - mbstate_t *restrict p_ps + char32_t *restrict *restrict p_outbuf, + size_t *restrict p_outsz, + const char *restrict *restrict p_inbuf, + size_t *restrict p_insz, + mbstate_t *restrict p_ps ) { while(*p_outsz && *p_insz) { @@ -35,11 +38,11 @@ static bool asciitoc32( } static bool c32toascii( - char **restrict p_outbuf, - size_t *restrict p_outsz, - const char32_t **restrict p_inbuf, - size_t *restrict p_insz, - mbstate_t *restrict p_ps + char *restrict *restrict p_outbuf, + size_t *restrict p_outsz, + const char32_t *restrict *restrict p_inbuf, + size_t *restrict p_insz, + mbstate_t *restrict p_ps ) { while(*p_outsz && *p_insz) { @@ -59,15 +62,17 @@ static bool c32toascii( return true; } -_PDCLIB_charcodec_t _PDCLIB_ascii_codec = { +const struct _PDCLIB_charcodec_t _PDCLIB_ascii_codec = { + .__mbsinit = ascii_mbsinit, .__mbstoc32s = asciitoc32, .__c32stombs = c32toascii, + .__mb_max = 1, }; #endif #ifdef TEST -#include <_PDCLIB_test.h> +#include "_PDCLIB_test.h" int main( void ) {