summary refs log tree commit diff stats
path: root/ui/console.c
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2017-08-29 13:38:18 +0200
committerGerd Hoffmann <kraxel@redhat.com>2017-09-13 10:17:26 +0200
commit7c336f9fe53b1a500f21241841c7bf4267c7ee14 (patch)
tree4fc4654f749795630f84de5a09f4f38673fc2835 /ui/console.c
parent1540008629bbb6a9c0826582d94ecf7a559f784c (diff)
downloadfocaccia-qemu-7c336f9fe53b1a500f21241841c7bf4267c7ee14.tar.gz
focaccia-qemu-7c336f9fe53b1a500f21241841c7bf4267c7ee14.zip
console: add question-mark escape operator
Some termcaps (found using SLES11SP1) use [? sequences. According to man
console_codes (http://linux.die.net/man/4/console_codes) the question mark
is a nop and should simply be ignored.

This patch does exactly that, rendering screen output readable when
outputting guest serial consoles to the graphical console emulator.

Signed-off-by: Alexander Graf <agraf@suse.de>
Message-id: 20170829113818.42482-1-agraf@suse.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/console.c')
-rw-r--r--ui/console.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ui/console.c b/ui/console.c
index f0292d7820..b82c27960a 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -880,8 +880,9 @@ static void console_putchar(QemuConsole *s, int ch)
         } else {
             if (s->nb_esc_params < MAX_ESC_PARAMS)
                 s->nb_esc_params++;
-            if (ch == ';')
+            if (ch == ';' || ch == '?') {
                 break;
+            }
             trace_console_putchar_csi(s->esc_params[0], s->esc_params[1],
                                       ch, s->nb_esc_params);
             s->state = TTY_STATE_NORM;