Linux console tools development discussion
 help / color / mirror / Atom feed
From: Alexey Gladkov <gladkov.alexey@gmail.com>
To: Anisse Astier <anisse@astier.eu>
Cc: kbd@lists.altlinux.org
Subject: Re: [kbd] [PATCH] src/libkeymap: add support for parsing more unicode values
Date: Mon, 1 Mar 2021 15:09:39 +0100
Message-ID: <20210301140939.e2lby2uau4nm3apv@example.org> (raw)
In-Reply-To: <20210227143611.94982-1-anisse@astier.eu>

On Sat, Feb 27, 2021 at 03:36:11PM +0100, Anisse Astier wrote:
> 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.

Nop. Partially keymap loading is very dangerous. You can get a completely
unusable console. The libkeymap shouldn't break the console if it is known
in advance that the keymap is not correct. You should fix ckbcomp so that
it generates the correct keymap.

> Signed-off-by: Anisse Astier <anisse@astier.eu>
> 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
> 

-- 
Rgrds, legion



  reply	other threads:[~2021-03-01 14:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-27 14:36 Anisse Astier
2021-03-01 14:09 ` Alexey Gladkov [this message]
2021-03-01 14:49   ` Anisse Astier
2021-03-02  0:47     ` Alexey Gladkov
2021-03-03 17:09       ` [kbd] [PATCH] src/libkeymap: better error message on unsupported unicode value Anisse Astier
2021-03-03 18:59         ` Alexey Gladkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210301140939.e2lby2uau4nm3apv@example.org \
    --to=gladkov.alexey@gmail.com \
    --cc=anisse@astier.eu \
    --cc=kbd@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux console tools development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/kbd/0 kbd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 kbd kbd/ http://lore.altlinux.org/kbd \
		kbd@lists.altlinux.org kbd@lists.altlinux.ru kbd@lists.altlinux.com
	public-inbox-index kbd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.kbd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git