[RESEND PATCH v3 2/2] cli: Correct handling of invalid escape sequences in cread_line()

Simon Glass sjg at chromium.org
Wed Mar 29 22:02:11 CEST 2023

Hi Heinrich,

On Wed, 29 Mar 2023 at 05:43, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
> On 3/27/23 21:34, Simon Glass wrote:
> > The second call to cli_ch_process() is in the wrong place, meaning that
> > the one of the characters of an invalid escape sequence is swallowed
> > instead of being returned.
> >
> > Fix the bug and add a test to cover this.
> >
> > This behaviour matches that of the code before cli_getch() was
> > introduced. This was verified on the commit before b08e9d4b66 i.e.:
> >
> >     7d850f85aad ("sandbox: Enable mmc command and legacy images")
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > Reported-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> > ---
> Thanks for the fix. Some strange behavior still remains like
> <SHIFT><CTRL><F4> giving '6S' on the command line. But at least no error
> code.

Yes, this matches the previous behaviour, which has existed a long
time. We could easily suppress echoing of unknown escape sequence.
Should we suppress them being entered also, so that U-Boot ignores
them? I'm really not sure. There was a reverted patch[1] which
indicates that this is not trivial to figure out.


[1] d2e64d29c44d cli_readline: Only insert printable chars

More information about the U-Boot mailing list