grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] Fix backspace in the username login prompt


From: Daniel Kiper
Subject: Re: [PATCH v2] Fix backspace in the username login prompt
Date: Mon, 17 May 2021 18:34:55 +0200
User-agent: NeoMutt/20170113 (1.7.2)

On Tue, May 11, 2021 at 09:52:39AM +0300, Egor Ignatov wrote:
> This patch fixes a bug when backspace key does not work in the
> username login prompt. It allows backspace characters in the BIDI
> visual line. Thus grub_gfxterm_putchar receives '\b' chars that
> were previously ignored.
>
> Signed-off-by: Egor Ignatov <egori@altlinux.org>
> ---
> > Did you test this patch with other BIDI type BN characters [1]? I am not
>
> You are right, I added a check to handle only backspace characters
>
> > convinced it works with them as expected. I think earlier version of your
> > patch was more promising...
>
> Earlier versions of my patch included workaround for special case when
> the password is longer than one line. This scenario is not very
> realistic and I dont think it's worth complicating the codebase.
>
> Thank you for your response.
> Let me know if you have any concerns about this version.

Did you test your patch outside of username login prompt, e.g. CLI or
menu entry editing? I am afraid your patch breaks at least these cases.

Daniel

> Egor
>
>  grub-core/normal/charset.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/grub-core/normal/charset.c b/grub-core/normal/charset.c
> index 4dfcc3107..8e7add1f8 100644
> --- a/grub-core/normal/charset.c
> +++ b/grub-core/normal/charset.c
> @@ -931,6 +931,8 @@ grub_bidi_line_logical_to_visual (const grub_uint32_t 
> *logical,
>           pop_stack ();
>           break;
>         case GRUB_BIDI_TYPE_BN:
> +         if (visual[visual_len].base == '\b')
> +           visual_len++;
>           break;
>         case GRUB_BIDI_TYPE_R:
>         case GRUB_BIDI_TYPE_AL:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]