From 1e69599900a753e2d7275d7ba714202b7d9c843e Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 14:46:44 +0300 Subject: Eliminate pen style and history stream parameter smuggling - Introduce struct text_pen bundling (fg, bg, sl) across screen and core - Reduce text_append from 9 to 7 parameters - Reduce text_commit from 8 to 6 parameters - Reduce hist_runs_add_pen from 5 to 3 parameters - Reduce sc_text_ascii and sc_ascii_fast from 6 to 4 parameters - Remove unused fg, bg parameters from mark_row_blank - Introduce struct hist_stream_state in src/hist.c, reducing stream_lines from 9 to 5 params and lf_rows from 10 to 6 params - Introduce struct hist_view_pos in src/hist_view.h, reducing term_hist_view_row_pos from 9 to 7 params --- src/hist_view.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/hist_view.c') diff --git a/src/hist_view.c b/src/hist_view.c index 29eac35..f5a287b 100644 --- a/src/hist_view.c +++ b/src/hist_view.c @@ -320,7 +320,7 @@ void term_hist_view_scroll(struct hist_view *v, const struct hist *h, int cols, /* A viewport walks exact segments from its anchor, never an estimated row. */ bool term_hist_view_row_pos(const struct hist_view *v, const struct hist *h, int cols, int screen_rows, struct line_pos screen_top, int y, - uint64_t *out_id, int *out_seg, int *out_screen_y) + struct hist_view_pos *pos) { (void)screen_top; if (v->anchor.active && h->lines) { @@ -335,17 +335,17 @@ bool term_hist_view_row_pos(const struct hist_view *v, const struct hist *h, int while (id < hist_end_id(h)) { int count = term_hist_line_rows(h, id, cols); if (target < count) { - *out_id = id; - *out_seg = (int)target; + pos->id = id; + pos->seg = (int)target; return true; } target -= count; id++; } - *out_screen_y = target < screen_rows ? (int)target : screen_rows - 1; + pos->screen_y = target < screen_rows ? (int)target : screen_rows - 1; return false; } - *out_screen_y = y; + pos->screen_y = y; return false; } -- cgit v1.2.3