efi_process_square_bracket() returns the number of characters consumed including the escape character which starts the escape sequence. That escape character is not passed to efi_process_square_bracket(), so it seems more consistent to return the number of characters without the escape. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- drivers/serial/efi-stdio.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/serial/efi-stdio.c b/drivers/serial/efi-stdio.c index dec633a7d6..0c804a5d97 100644 --- a/drivers/serial/efi-stdio.c +++ b/drivers/serial/efi-stdio.c @@ -195,27 +195,27 @@ static int efi_process_square_bracket(struct efi_console_priv *priv, const char /* home */ case 'F': /* end */ - return 3; + return 2; case 'K': clear_to_eol(priv); - return 3; + return 2; } if (*inp == '2' && *(inp + 1) == 'J') { priv->out->clear_screen(priv->out); - return 4; + return 3; } if (*inp == '0' && *(inp + 1) == 'm') { priv->out->set_attribute(priv->out, EFI_TEXT_ATTR(EFI_WHITE, EFI_BLACK)); - return 4; + return 3; } if (*inp == '7' && *(inp + 1) == 'm') { priv->out->set_attribute(priv->out, EFI_TEXT_ATTR(EFI_BLACK, priv->current_color)); - return 4; + return 3; } if (*inp == '1' && @@ -239,7 +239,7 @@ static int efi_process_square_bracket(struct efi_console_priv *priv, const char priv->out->set_attribute(priv->out, EFI_TEXT_ATTR(color, EFI_BLACK)); - return 7; + return 6; } y = simple_strtoul(inp, &endp, 10); @@ -247,11 +247,11 @@ static int efi_process_square_bracket(struct efi_console_priv *priv, const char x = simple_strtoul(endp + 1, &endp, 10); if (*endp == 'H') { priv->out->set_cursor_position(priv->out, x - 1, y - 1); - return endp - inp + 3; + return endp - inp + 2; } } - return 8; + return 7; } static int efi_process_escape(struct efi_console_priv *priv, const char *inp) @@ -263,7 +263,7 @@ static int efi_process_escape(struct efi_console_priv *priv, const char *inp) inp++; if (*inp == '[') - return efi_process_square_bracket(priv, inp); + return efi_process_square_bracket(priv, inp) + 1; return 1; } -- 2.30.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox