From 6ea9d1246f5aaa02b8706b67c90776787dccbd68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 14 Jul 2020 11:26:14 +0200 Subject: [PATCH] term: print: also require width > 1 when checking if we need to force-wrap or not While this might seem like it would slow down things, it should in fact help the compiler optimize: the "normal" code path, that prints regular ASCII characters, always call term_print() with width == 1. --- terminal.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/terminal.c b/terminal.c index 99ef16d7..7c1bb5cc 100644 --- a/terminal.c +++ b/terminal.c @@ -2392,7 +2392,9 @@ term_print(struct terminal *term, wchar_t wc, int width) if (unlikely(width <= 0)) return; - if (term->grid->cursor.point.col + width > term->cols) { + if (unlikely(width > 1) && + term->grid->cursor.point.col + width > term->cols) + { /* Multi-column character that doesn't fit on current line - * force a line wrap */ term->grid->cursor.lcf = 1;