From 3f41b22011b5ade60585146630bf5cb992ebf1a8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 8 Nov 2023 19:46:19 +0530 Subject: [PATCH] Use the byte loader for normal mode --- kitty/vt-parser.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kitty/vt-parser.c b/kitty/vt-parser.c index aa78b43e9..cd0b78d86 100644 --- a/kitty/vt-parser.c +++ b/kitty/vt-parser.c @@ -317,8 +317,13 @@ dispatch_normal_mode_byte(PS *self, uint8_t ch) { static void consume_normal(PS *self) { - uint8_t ch = self->buf[self->read.pos++]; - dispatch_normal_mode_byte(self, ch); + const unsigned sz = self->read.sz - self->read.pos; + byte_loader b; byte_loader_init(&b, self->buf + self->read.pos, sz); + while (b.num_left && self->vte_state == VTE_NORMAL) { + uint8_t ch = byte_loader_next(&b); + dispatch_normal_mode_byte(self, ch); + } + self->read.pos += sz - b.num_left; } // }}}