From cb0597aeed3b47dfa843abcf7ac8333156bbd239 Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Tue, 1 Aug 2023 15:25:34 +0200 Subject: [PATCH] libvterm: Fix DECSTR (soft reset) command See: https://bugs.launchpad.net/libvterm/+bug/2029441 Change-Id: Ia2411819818cb7f0f6dff7dcc2d7d7730cfc6e7f Reviewed-by: Cristian Adam Reviewed-by: --- src/libs/3rdparty/libvterm/src/parser.c | 2 +- src/libs/3rdparty/libvterm/src/state.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/3rdparty/libvterm/src/parser.c b/src/libs/3rdparty/libvterm/src/parser.c index b43a549cefc..b8959fdfe5b 100644 --- a/src/libs/3rdparty/libvterm/src/parser.c +++ b/src/libs/3rdparty/libvterm/src/parser.c @@ -203,7 +203,7 @@ size_t vterm_input_write(VTerm *vt, const char *bytes, size_t len) switch(vt->parser.state) { case CSI_LEADER: /* Extract leader bytes 0x3c to 0x3f */ - if(c >= 0x3c && c <= 0x3f) { + if(c >= 0x3c && c <= 0x3f || c == '!') { if(vt->parser.v.csi.leaderlen < CSI_LEADER_MAX-1) vt->parser.v.csi.leader[vt->parser.v.csi.leaderlen++] = c; break; diff --git a/src/libs/3rdparty/libvterm/src/state.c b/src/libs/3rdparty/libvterm/src/state.c index 5362efbcd35..1aa8ce5aa44 100644 --- a/src/libs/3rdparty/libvterm/src/state.c +++ b/src/libs/3rdparty/libvterm/src/state.c @@ -934,6 +934,7 @@ static int on_csi(const char *leader, const long args[], int argcount, const cha return 0; switch(leader[0]) { + case '!': case '?': case '>': leader_byte = leader[0];