From 135bf35b1189a4402dcca13685331c3fb2d901f5 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 2 Dec 2013 17:20:36 +0000 Subject: [console] Allow '?' as an intermediate byte in ANSI escape sequences The ANSI escape sequences to show and hide the cursor take the form "[?25h" and "[?25l" respectively. iPXE currently treats the '?' character as the final byte. Fix by explicitly treating '?' as an intermediate byte. Signed-off-by: Michael Brown --- src/core/ansiesc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/core') diff --git a/src/core/ansiesc.c b/src/core/ansiesc.c index 68e7061b3..ca9a73ce0 100644 --- a/src/core/ansiesc.c +++ b/src/core/ansiesc.c @@ -99,7 +99,8 @@ int ansiesc_process ( struct ansiesc_context *ctx, int c ) { DBG ( "Too many parameters in ANSI escape " "sequence\n" ); } - } else if ( ( c >= 0x20 ) && ( c <= 0x2f ) ) { + } else if ( ( ( c >= 0x20 ) && ( c <= 0x2f ) ) || + ( c == '?' ) ) { /* Intermediate Byte */ ctx->function <<= 8; ctx->function |= c; -- cgit v1.2.3-55-g7522