[BUG] Re: [PATCH v3 02/25] cli: Move readline character-processing to a state machine
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Tue Jan 24 16:19:22 CET 2023
On 1/6/23 15:52, Simon Glass wrote:
> The current cread_line() function is very long. It handles the escape
> processing inline. The menu command does similar processing but at the
> character level, so there is some duplication.
>
> Split the character processing into a new function cli_ch_process() which
> processes individual characters and returns the resulting input character,
> taking account of escape sequences. It requires the caller to set up and
> maintain its state.
>
> Update cread_line() to use this new function.
>
> The only intended functional change is that an invalid escape sequence
> does not add invalid/control characters into the input buffer, but instead
> discards these.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
Hello Simon
in the Change Boot Order menu of the eficonfig command I hit the
PAGE-UP or PAGE-DOWN button and get this output:
[ ] label0038
[ ] label0039impossible condition #876
impossible condition #876
Press UP/DOWN to move, +/- to change orde
Press SPACE to activate or deactivate the entry
Select [Save] to complete, ESC/CTRL+C to quit
Hitting an unsupported key should not result in output.
This is the line providing the output.
common/cli_getch.c:201:
puts("impossible condition #876\n");
How line be reached by an "impossible condition". That text does not
make any sense.
This is the patch to blame
b08e9d4b6632 ("cli: Move readline character-processing to a state machine")
Please, remove that debug message.
The conitrace command shows these escape sequences:
PAGE-DOWN 1b 5b 36 7e
PAGE-UP 1b 5b 35 7e
Best regards
Heinrich
More information about the U-Boot
mailing list