diff options
| author | B. Watson <urchlay@slackware.uk> | 2026-04-27 02:35:27 -0400 |
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2026-04-27 02:35:27 -0400 |
| commit | 18c80370b5fed57d151c55d186cb94be0a1e1ec6 (patch) | |
| tree | e04e18189de4dd301e596ff9069f4571946fab2b /src/pool.c | |
| parent | 668d47413c3e83c3a2b90da87057b8c0e1d489a4 (diff) | |
| download | fujinet-chat-18c80370b5fed57d151c55d186cb94be0a1e1ec6.tar.gz | |
Reclaim a screen's lines when it gets closed.
Diffstat (limited to 'src/pool.c')
| -rw-r--r-- | src/pool.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -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; +} |
