From 5ab6b560e8528c27ba934b90f94b1828b7771e27 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 14:27:58 +0300 Subject: Encapsulate stream queue context and consolidate forwarding wrappers - Create struct stream_emit_ctx packing stream queue arguments into 1 cache line - Reduce emit_stream_bulk_wrapped from 13 parameters to 3 - Reduce flush_stream_queue from 10 parameters to 1 - Extract stream_queue_finish to eliminate duplicated cleanup in kernel instantiations - Replace EMIT_STREAM_ROW macros with typed inline functions - Move pending_wrap clearing directly into term_screen_erase, insert, delete, and scroll - Remove sc_erase_display, sc_erase_line, sc_insert_chars, and sc_delete_chars wrappers - Consolidate term_row and remove duplicated row_fill_gap helper --- src/fastcsi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/fastcsi.c') diff --git a/src/fastcsi.c b/src/fastcsi.c index d8983dc..74d4800 100644 --- a/src/fastcsi.c +++ b/src/fastcsi.c @@ -169,13 +169,13 @@ int term_try_fast_csi(struct term *t, const char *buf, size_t rem) (p[0] >= '0' && p[0] <= '3' && p + 1 < end && p[1] == 'J')) { t->cur_fg = fg; t->cur_bg = bg; - sc_erase_display(t, p[0] == 'J' ? 0 : p[0] - '0'); + term_screen_erase(t, p[0] == 'J' ? 0 : p[0] - '0'); p += p[0] == 'J' ? 1 : 2; } else if (p[0] == 'K' || (p[0] >= '0' && p[0] <= '2' && p + 1 < end && p[1] == 'K')) { t->cur_fg = fg; t->cur_bg = bg; - sc_erase_line(t, p[0] == 'K' ? 0 : p[0] - '0'); + term_screen_erase_line(t, p[0] == 'K' ? 0 : p[0] - '0'); p += p[0] == 'K' ? 1 : 2; } else if (!t->origin_mode && !t->lr_margin_mode && ((*p >= '0' && *p <= '9') || *p == ';' || @@ -279,13 +279,13 @@ int term_try_fast_csi(struct term *t, const char *buf, size_t rem) case 'J': t->cur_fg = fg; t->cur_bg = bg; - sc_erase_display(t, pv[0]); + term_screen_erase(t, pv[0]); p = q + 1; break; case 'K': t->cur_fg = fg; t->cur_bg = bg; - sc_erase_line(t, pv[0]); + term_screen_erase_line(t, pv[0]); p = q + 1; break; case 'X': @@ -298,13 +298,13 @@ int term_try_fast_csi(struct term *t, const char *buf, size_t rem) case 'P': t->cur_fg = fg; t->cur_bg = bg; - sc_delete_chars(t, n); + term_screen_delete_chars(t, n); p = q + 1; break; case '@': t->cur_fg = fg; t->cur_bg = bg; - sc_insert_chars(t, n); + term_screen_insert_chars(t, n); p = q + 1; break; case 's': -- cgit v1.2.3