From a936e9735e988df83fbe54c950c6c4cf6aacf436 Mon Sep 17 00:00:00 2001
From: pompolic <pompolic@special-circumstanc.es>
Date: Tue, 18 Oct 2022 16:03:37 +0200
Subject: [PATCH] (WIP) Split up input into screen-width chunks

---
 gdb-port/top-level-parse.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gdb-port/top-level-parse.py b/gdb-port/top-level-parse.py
index f1e448b..8951743 100644
--- a/gdb-port/top-level-parse.py
+++ b/gdb-port/top-level-parse.py
@@ -507,6 +507,18 @@ class TopLevelParse:
 		inputfragment = (self.input_ptr+start).string('UTF-8','replace',fragmentlen)
 		#encoded_inputfragment = inputfragment.replace("\n", "<0A>").replace("\r", "<0D>").replace(" ", "<20>").replace("\t", "<09>")
 		encoded_inputfragment = inputfragment.replace("\n", ".").replace("\r", ".").replace("\t", ".")
+		screens = fragmentlen // w
+		last_chunk_width = fragmentlen % w
+		for chunk in range(0, screens):
+			inputfragment = (self.input_ptr + (start + w * chunk) ).string('UTF-8', 'replace', w)
+			encoded_inputfragment = inputfragment.replace("\n", ".").replace("\r", ".").replace("\t", ".")
+			print(encoded_inputfragment)
+			print("chunk: ", chunk)
+		print("last chunk:", last_chunk_width)
+		inputfragment = (self.input_ptr + (start + w * screens)).string('UTF-8', 'replace', last_chunk_width)
+		encoded_inputfragment = inputfragment.replace("\n", ".").replace("\r", ".").replace("\t", ".")
+		print(encoded_inputfragment)
+
 		if rec_depth == 0:
 			print(encoded_inputfragment)
 			self.print_input_chunk(token, rows, start, start+min(w, end-start))
-- 
GitLab