diff options
Diffstat (limited to 'src/complete.c')
| -rw-r--r-- | src/complete.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/complete.c b/src/complete.c index e76def1..fa3a240 100644 --- a/src/complete.c +++ b/src/complete.c @@ -54,12 +54,16 @@ char match(const char *p, const char *q) { len = strlen(p); if(!len) return 0; + return strneq_i(p, q, len); + + /* while(len--) { if(lcase(*p) != lcase(*q)) return 0; p++, q++; } return 1; + */ } void scrape_nick(char *p) { @@ -95,25 +99,25 @@ void scrape_nick(char *p) { list[pm_nick_pos][0] = 0; } -void find_chan_nicks(void) { - signed char i; +void scrape_lines(signed char count, u8 **addr) { char *p; - - add_to = comp_chan_nicks; - pm_nick_pos = 0; - - for(i = 22; i >= 0; i--) { - p = screen_bot_addrs[scr_current] + 40 * i; + while(count >= 0) { + p = addr[scr_current] + 40 * count; scrape_nick(p); if(pm_nick_pos == MAX_PM_NICKS) return; + count--; } - for(i = 24; i >= 0; i--) { - scrape_nick(p); - p = screen_top_addrs[scr_current] + 40 * i; - if(pm_nick_pos == MAX_PM_NICKS) - return; - } +} + +void find_chan_nicks(void) { + 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); } void comp_complete_done(void) { |
