From 18c80370b5fed57d151c55d186cb94be0a1e1ec6 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Mon, 27 Apr 2026 02:35:27 -0400 Subject: Reclaim a screen's lines when it gets closed. --- src/pool.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/pool.c') diff --git a/src/pool.c b/src/pool.c index bd1111d..de79997 100644 --- a/src/pool.c +++ b/src/pool.c @@ -122,3 +122,19 @@ void add_line(char s) { screens[s].line_list = p; screens[s].line_count++; } + +void pool_reclaim_lines(char s) { + line_t *p, *q; + + p = screens[s].line_list; + while(p != (line_t *)END_MARKER) { + q = p; + p = p->next; + } + + q->next = pools[screens[s].pool].free_list; + pools[screens[s].pool].free_list = screens[s].line_list; + + /* theoretically this could be 0, but as a safety net... */ + screens[s].line_list = (line_t *)END_MARKER; +} -- cgit v1.2.3