On Fri, Feb 18, 2022 at 02:15:05 +0100, Vincent Lefevre wrote:
> Indeed, the code is really strange:
>
> (c & 0x300) >> 12 ^ 0xf8
>
> will be stored in a char. So why dealing with bits more significant
> than the 8 bits of a char?
I too recently noticed this. I have now made a nice clean
When compiling encoding.c from the screen-v4 branch:
encoding.c: In function ‘AddUtf8’:
display.h:322:18: warning: overflow in conversion from ‘int’ to ‘char’ changes
value from ‘c >> 12 & 12288^ 248’ to ‘-8’ [-Woverflow]
322 | *D_obufp++ = (c); \
| ^
encoding.c:682: