From dbee099eebc46bd6a72f4be1b65c5552f02d471a Mon Sep 17 00:00:00 2001 From: CismonX Date: Tue, 11 Jul 2023 00:51:32 +0800 Subject: [PATCH] sixel: fix regression for DECGRI with a repeat count of 0 --- sixel.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sixel.c b/sixel.c index c7c04b0d..bd2ebe1d 100644 --- a/sixel.c +++ b/sixel.c @@ -1703,7 +1703,11 @@ decgri_generic(struct terminal *term, uint8_t c) } case '?' ... '~': { - const unsigned count = term->sixel.repeat_count; + unsigned count = term->sixel.repeat_count; + if (unlikely(count == 0)) { + count = 1; + } + sixel_add_many_generic(term, c - 63, count); term->sixel.state = SIXEL_DECSIXEL; break; @@ -1722,7 +1726,11 @@ static void decgri_ar_11(struct terminal *term, uint8_t c) { if (likely(c >= '?' && c <= '~')) { - const unsigned count = term->sixel.repeat_count; + unsigned count = term->sixel.repeat_count; + if (unlikely(count == 0)) { + count = 1; + } + sixel_add_many_ar_11(term, c - 63, count); term->sixel.state = SIXEL_DECSIXEL; } else