On 1/30/23 16:50, Simon Glass wrote:
Hi Heinrich,
On Sun, 29 Jan 2023 at 15:32, Heinrich Schuchardt
<[email protected]> wrote:
Function cli_ch_esc() supports only a small subset of the escape sequences
used by terminals. Don't nag the user with a message if an unsupported
escape sequence is met.
Fixes: b08e9d4b6632 ("cli: Move readline character-processing to a state
machine")
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
common/cli_getch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
The bug is in the calling code, though. See my previous email.
Your patch introduced further problems:
b08e9d4b6632 ("cli: Move readline character-processing to a state machine")
At git commit b08e9d4b6632 in sandbox_defconfig at the command line enter
abc<PG-UP><PG-DOWN><PG-UP><PG-DOWN><ENTER>
and you get a crash.
With origin/master at the command line enter
abc<PG-UP><PG-DOWN><PG-UP><PG-DOWN><ENTER>
and the output is:
=> abcimpossible condition #876
~impossible condition #876
~impossible condition #876
~impossible condition #876
~
Unknown command 'abc~~~~' - try 'help'
=>
Before the patch entering
abc<PG-UP><PG-DOWN><PG-UP><PG-DOWN><ENTER>
results in:
=> abc
Unknown command 'abc' - try 'help'
=>
This is what is expected. Please, restore this behavior.
Best regards
Heinrich
diff --git a/common/cli_getch.c b/common/cli_getch.c
index 87c23edcf4..ebda3a1236 100644
--- a/common/cli_getch.c
+++ b/common/cli_getch.c
@@ -198,7 +198,7 @@ int cli_ch_process(struct cli_ch_state *cch, int ichar)
cch->esc_save[cch->esc_len] = ichar;
cch->esc_len = 1;
} else {
- puts("impossible condition #876\n");
+ /* TODO: support more escape sequences */
cch->esc_len = 0;
}
return 0;
--
2.38.1
Regards,
Simon