aboutsummaryrefslogtreecommitdiff
path: root/src/complete.c
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2026-04-07 06:14:30 -0400
committerB. Watson <urchlay@slackware.uk>2026-04-07 06:14:38 -0400
commit55220e41c17b8e9dd140f1c770d4885e317d160b (patch)
tree7a66c445b2af2511b8ac7a7ade804718d0379df5 /src/complete.c
parent965524520500cc6a81dddb95ca427cb1a6830f96 (diff)
downloadfujinet-chat-55220e41c17b8e9dd140f1c770d4885e317d160b.tar.gz
Shave a few bytes from complete.c. 6991 bytes free.
Diffstat (limited to 'src/complete.c')
-rw-r--r--src/complete.c32
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) {