[kbd] [PATCH] src/libkeymap: add support for parsing more unicode values
Anisse Astier <[email protected]> Sat, 27 Feb 2021 15:36:11 +0100
| Newsgroups | dev.linux.lists.kbd |
|---|---|
| Message-ID | <[email protected]> |
The auto-generated (with ckbcomp) file fr-bepo_afnor did not load (even partially), because of an U+1f12f (copyleft symbol) that is wrongly parsed, generating this error message: too many (160) entries on one line Fix libkeymap so that the keymap can be parsed, even if the offending character won't be loaded because of the ushort limitation of the kb_value KDSKBENT uapi. It's better to have the keymap partially loaded than not at all. Signed-off-by: Anisse Astier <[email protected]> Fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=968195 --- src/libkeymap/analyze.l | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libkeymap/analyze.l b/src/libkeymap/analyze.l index 9e76eae..4bdffb4 100644 --- a/src/libkeymap/analyze.l +++ b/src/libkeymap/analyze.l @@ -319,7 +319,7 @@ Include include[ \t]* Decimal [1-9][0-9]* Octal 0[0-7]* Hex 0[xX][0-9a-fA-F]+ -Unicode U\+([0-9a-fA-F]){4} +Unicode U\+([0-9a-fA-F]){4,6} Literal [a-zA-Z][a-zA-Z_0-9]* Octa ([0-7]){1,3} Charset charset|Charset|CharSet|CHARSET @@ -404,7 +404,7 @@ To to|To|TO if (parse_int(yyextra, yytext, yytext + 1, 16, &(yylval->num)) < 0) return(ERROR); - if (yylval->num >= 0xf000) { + if (yylval->num >= 0x10ffff) { ERR(yyextra, _("unicode keysym out of range: %s"), yytext); return(ERROR); -- 2.29.2