[kbd] [PATCH] Fix "compose as usual" for Unicode diacritics
Alexey Gladkov
gladkov.alexey at gmail.com
Sat Oct 16 20:21:37 UTC 2010
13.10.2010 19:07, Michael Schutte wrote:
> struct ccc in compose_as_usua[() uses three char members of unspecified
> signedness; in case the compiler decides that they should be signed,
> negative integers will end up in the accent table for c3 > 127.
>
> Avoid the problem by explicitly using unsigned chars.
>
> Signed-off-by: Michael Schutte <michi at uiae.at>
> ---
> src/loadkeys.y | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/src/loadkeys.y b/src/loadkeys.y
> index c8bb7cc..cc7e2ab 100644
> --- a/src/loadkeys.y
> +++ b/src/loadkeys.y
> @@ -1181,7 +1181,7 @@ compose_as_usual(char *charset) {
> exit(1);
> } else {
> struct ccc {
> - char c1, c2, c3;
> + unsigned char c1, c2, c3;
> } def_latin1_composes[68] = {
> { '`', 'A', 0300 }, { '`', 'a', 0340 },
> { '\'', 'A', 0301 }, { '\'', 'a', 0341 },
Indeed.
I tried to add the -Wconversion and was horrified (about 368 warnings).
--
Rgrds, legion
More information about the kbd
mailing list