From 7994ed3a2be1e015a8217bbfa37f7c225ba80ff6 Mon Sep 17 00:00:00 2001 From: Dan <46821332+nsadeveloper789@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:11:21 -0500 Subject: [PATCH] GP-4392: Parse l and h ANSI CSI commands for gdb/ConPty. --- .../ghidra/pty/windows/AnsiBufferedInputStream.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Ghidra/Framework/Pty/src/main/java/ghidra/pty/windows/AnsiBufferedInputStream.java b/Ghidra/Framework/Pty/src/main/java/ghidra/pty/windows/AnsiBufferedInputStream.java index 047489a664..4c573815b9 100644 --- a/Ghidra/Framework/Pty/src/main/java/ghidra/pty/windows/AnsiBufferedInputStream.java +++ b/Ghidra/Framework/Pty/src/main/java/ghidra/pty/windows/AnsiBufferedInputStream.java @@ -270,6 +270,14 @@ public class AnsiBufferedInputStream extends InputStream { execSetGraphicsRendition(); mode = Mode.CHARS; break; + case 'h': + execPrivateSequence(true); + mode = Mode.CHARS; + break; + case 'l': + execPrivateSequence(false); + mode = Mode.CHARS; + break; } } @@ -473,4 +481,9 @@ public class AnsiBufferedInputStream extends InputStream { // TODO: Maybe a callback. Otherwise, don't care titleBuf.clear(); } + + protected void execPrivateSequence(boolean enable) { + // These don't matter for input buffering. + escBuf.clear(); + } }