FreeCalypso > hg > freecalypso-tools
diff uptools/libcoding/decode_helpers.c @ 802:1c599681fd60
pcm-sms-decode & sms-pdu-decode: revamp bad char decoding
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 25 Mar 2021 02:58:30 +0000 |
parents | 978571e23318 |
children |
line wrap: on
line diff
--- a/uptools/libcoding/decode_helpers.c Thu Mar 25 01:40:36 2021 +0000 +++ b/uptools/libcoding/decode_helpers.c Thu Mar 25 02:58:30 2021 +0000 @@ -48,8 +48,15 @@ outp[1] = 0x80 | (uni & 0x3F); return(2); } - outp[0] = 0xE0 | (uni >> 12); - outp[1] = 0x80 | ((uni >> 6) & 0x3F); - outp[2] = 0x80 | (uni & 0x3F); - return(3); + if (uni < 0x10000) { + outp[0] = 0xE0 | (uni >> 12); + outp[1] = 0x80 | ((uni >> 6) & 0x3F); + outp[2] = 0x80 | (uni & 0x3F); + return(3); + } + outp[0] = 0xF0 | (uni >> 18); + outp[1] = 0x80 | ((uni >> 12) & 0x3F); + outp[2] = 0x80 | ((uni >> 6) & 0x3F); + outp[3] = 0x80 | (uni & 0x3F); + return(4); }