From 848602f4b2461e547f28bd31907284d1fa6cda94 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Thu, 6 Feb 2025 01:15:16 -0500
Subject: [PATCH] Fix handling of translated blast-through mosaics

Since we're translating in ch[0], don't use buf[j] for mosaic or
we'll lose the translation we just did.
---
 src/conio/cterm.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index bef590bc14..ae30bc312a 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -6195,10 +6195,8 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int
 								if (buf[j] == 13 || buf[j] == 10 || (buf[j] >= 32 && buf[j] <= 127)) {
 									if (cterm->extattr & CTERM_EXTATTR_PRESTEL_MOSAIC) {
 										if ((buf[j] < 64 && buf[j] >= 32) || (buf[j] >= 96 && buf[j] < 128)) {
-											ch[0] = buf[j] | 0x80;
+											ch[0] = ch[0] | 0x80;
 										}
-										else
-											ch[0] = buf[j];
 										if (ch[0] >= 160) {
 											cterm->prestel_last_mosaic = ch[0];
 											if (cterm->extattr & CTERM_EXTATTR_PRESTEL_SEPARATED)
-- 
GitLab