diff options
| author | B. Watson <urchlay@slackware.uk> | 2026-04-24 03:54:01 -0400 |
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2026-04-24 03:54:01 -0400 |
| commit | 715964c0b5ab8a2bc2b8ae8b7935e9ea0088e332 (patch) | |
| tree | 8d61003fadc3d3c7761394c517c4488c2b63743d /src/complete.c | |
| parent | 2ce1d0d8a2e7f79e1bb008836a4dca48adba867e (diff) | |
| download | fujinet-chat-715964c0b5ab8a2bc2b8ae8b7935e9ea0088e332.tar.gz | |
Dynamic screens. Still a bit flaky, but actually does work to some degree.
Diffstat (limited to 'src/complete.c')
| -rw-r--r-- | src/complete.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/complete.c b/src/complete.c index fd889b2..9faa52c 100644 --- a/src/complete.c +++ b/src/complete.c @@ -101,25 +101,17 @@ void scrape_nick(char *p) { list[pm_nick_pos][0] = 0; } -void scrape_lines(signed char count, u8 **addr) { - char *p; - while(count >= 0) { - p = addr[scr_current] + 40 * count; - scrape_nick(p); - if(pm_nick_pos == MAX_PM_NICKS) - return; - count--; - } -} - void find_chan_nicks(void) { + line_t *l; + add_to = comp_chan_nicks; pm_nick_pos = 0; - scrape_lines(22, screen_bot_addrs); - if(pm_nick_pos == MAX_PM_NICKS) - return; - scrape_lines(24, screen_top_addrs); + for(l = screens[scr_current].line_list; l != (line_t *)END_MARKER; l = l->next) { + scrape_nick(l->data); + if(pm_nick_pos == MAX_PM_NICKS) + return; + } } void comp_complete_done(void) { @@ -153,7 +145,7 @@ void comp_start(void) { } else if(scr_current == SCR_PRIV) { p = last_pm_nick; list = comp_pm_nicks; - } else if(scr_names[scr_current][0] == '#') { + } else if(screens[scr_current].title[0] == '#') { find_chan_nicks(); list = comp_chan_nicks; if(pm_nick_pos) p = comp_chan_nicks[pm_nick_pos - 1]; |
