cli: Correct handling of invalid escape sequences in cread_line()
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 beforeb08e9d4b66
i.e.:7d850f85aa
("sandbox: Enable mmc command and legacy images") Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
@@ -98,8 +98,8 @@ int cli_readline(const char *const prompt);
|
||||
*
|
||||
* @prompt: Prompt to display
|
||||
* @buffer: Place to put the line that is entered
|
||||
* @timeout: Timeout in milliseconds, 0 if none
|
||||
* Return: command line length excluding terminator, or -ve on error: of the
|
||||
* @timeout: Timeout in seconds, 0 if none
|
||||
* Return: command line length excluding terminator, or -ve on error: if the
|
||||
* timeout is exceeded (either CONFIG_BOOT_RETRY_TIME or the timeout
|
||||
* parameter), then -2 is returned. If a break is detected (Ctrl-C) then
|
||||
* -1 is returned.
|
||||
|
Reference in New Issue
Block a user