X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=opt%2Fbasecodecs%2F_PDCLIB_utf8.c;h=a4c19adb349a735c6715af6c66641eab61de66b3;hp=22fa808c963fa33b4a1bfbd71565bfc141c5bc84;hb=da0f3f353d417fed71f358a48d5d5394145e460d;hpb=4b1f856ea2b21f30b6af8d4cca7129ebc84d3d6f diff --git a/opt/basecodecs/_PDCLIB_utf8.c b/opt/basecodecs/_PDCLIB_utf8.c index 22fa808..a4c19ad 100644 --- a/opt/basecodecs/_PDCLIB_utf8.c +++ b/opt/basecodecs/_PDCLIB_utf8.c @@ -9,7 +9,7 @@ #include #include #include -#include <_PDCLIB_encoding.h> +#include "_PDCLIB_encoding.h" /* Use of the mbstate: * @@ -73,7 +73,7 @@ static bool utf8toc32( char32_t c32; switch(state) { case DecStart: - // 1 byte + // 1 byte if(c <= 0x7F) { OUT32(c); } else if(c <= 0xDF) { @@ -156,7 +156,7 @@ static bool utf8toc32( } (*p_inbuf)++; - (*p_insz)--; + (*p_insz)--; } END_CONVERSION; } @@ -178,7 +178,7 @@ static bool c32toutf8( { START_CONVERSION while(*p_outsz) { - unsigned char outc; + unsigned char outc = 0; switch(state) { case Enc3R: outc = 0x80 | ((accum >> 12) & 0x3F); @@ -225,14 +225,14 @@ static bool c32toutf8( if(p_outbuf) { **p_outbuf = outc; - (*p_outbuf)++; + (*p_outbuf)++; } - (*p_outsz)--; + (*p_outsz)--; } END_CONVERSION; } -const struct _PDCLIB_charcodec _PDCLIB_utf8_codec = { +const struct _PDCLIB_charcodec_t _PDCLIB_utf8_codec = { .__mbsinit = utf8_mbsinit, .__mbstoc32s = utf8toc32, .__c32stombs = c32toutf8, @@ -242,23 +242,23 @@ const struct _PDCLIB_charcodec _PDCLIB_utf8_codec = { #endif #ifdef TEST -#include <_PDCLIB_test.h> +#include "_PDCLIB_test.h" int main( void ) { #ifndef REGTEST // Valid conversion & back - static const char* input = "abcde" "\xDF\xBF" "\xEF\xBF\xBF" + static const char* input = "abcde" "\xDF\xBF" "\xEF\xBF\xBF" "\xF4\x8F\xBF\xBF"; char32_t c32out[8]; - char32_t *c32ptr = &c32out[0]; - size_t c32rem = 8; - char *chrptr = (char*) &input[0]; - size_t chrrem = strlen(input); - mbstate_t mbs = { 0 }; + char32_t *c32ptr = &c32out[0]; + size_t c32rem = 8; + const char *chrptr = (char*) &input[0]; + size_t chrrem = strlen(input); + mbstate_t mbs = { 0 }; TESTCASE(utf8toc32(&c32ptr, &c32rem, &chrptr, &chrrem, &mbs)); TESTCASE(c32rem == 0);