diff options
author | Timo Sirainen <cras@irssi.org> | 2000-06-04 12:38:28 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2000-06-04 12:38:28 +0000 |
commit | 856273754804e6959f086ac75932ffa77eb39a8a (patch) | |
tree | fc99f2e921d5dd131acf0bad59b990c065605906 /src/fe-common | |
parent | 1a541c149d24c827d5145e87c7ecb7951fb46bd3 (diff) | |
download | irssi-856273754804e6959f086ac75932ffa77eb39a8a.zip |
completion_msgtoyou() -> irc_nick_match()
Implemented -replies option to /ignore.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@287 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/fe-common')
-rw-r--r-- | src/fe-common/irc/completion.c | 27 | ||||
-rw-r--r-- | src/fe-common/irc/completion.h | 1 | ||||
-rw-r--r-- | src/fe-common/irc/fe-events.c | 2 | ||||
-rw-r--r-- | src/fe-common/irc/fe-ignore.c | 6 | ||||
-rw-r--r-- | src/fe-common/irc/irc-window-activity.c | 3 |
5 files changed, 8 insertions, 31 deletions
diff --git a/src/fe-common/irc/completion.c b/src/fe-common/irc/completion.c index b710dd67..140bdd1f 100644 --- a/src/fe-common/irc/completion.c +++ b/src/fe-common/irc/completion.c @@ -177,7 +177,7 @@ static void event_privmsg(gchar *data, IRC_SERVER_REC *server, gchar *nick) return; } - list = completion_msgtoyou((SERVER_REC *) server, msg) ? + list = irc_nick_match(server->nick, msg) ? &channel->lastownmsgs : &channel->lastmsgs; nick_completion_create(list, time(NULL), nick); @@ -207,31 +207,6 @@ static void cmd_msg(gchar *data, IRC_SERVER_REC *server) g_free(params); } -int completion_msgtoyou(SERVER_REC *server, const char *msg) -{ - gchar *stripped, *nick; - gboolean ret; - gint len; - - g_return_val_if_fail(msg != NULL, FALSE); - - if (g_strncasecmp(msg, server->nick, strlen(server->nick)) == 0 && - !isalnum((gint) msg[strlen(server->nick)])) return TRUE; - - stripped = nick_strip(server->nick); - nick = nick_strip(msg); - - len = strlen(stripped); - ret = *stripped != '\0' && - g_strncasecmp(nick, stripped, len) == 0 && - !isalnum((gint) nick[len]) && - (guchar) nick[len] < 128; - - g_free(nick); - g_free(stripped); - return ret; -} - static void complete_list(GList **outlist, GSList *list, gchar *nick) { GSList *tmp; diff --git a/src/fe-common/irc/completion.h b/src/fe-common/irc/completion.h index 3ecb0339..e7dfd076 100644 --- a/src/fe-common/irc/completion.h +++ b/src/fe-common/irc/completion.h @@ -3,7 +3,6 @@ #include "window-items.h" -int completion_msgtoyou(SERVER_REC *server, const char *msg); char *completion_line(WINDOW_REC *window, const char *line, int *pos); char *auto_completion(const char *line, int *pos); diff --git a/src/fe-common/irc/fe-events.c b/src/fe-common/irc/fe-events.c index ecd82d59..ab893e15 100644 --- a/src/fe-common/irc/fe-events.c +++ b/src/fe-common/irc/fe-events.c @@ -80,7 +80,7 @@ static void event_privmsg(gchar *data, IRC_SERVER_REC *server, gchar *nick, gcha gchar *color; chanrec = channel_find(server, target); - toyou = completion_msgtoyou((SERVER_REC *) server, msg); + toyou = irc_nick_match(server->nick, msg); color = irc_hilight_find_nick(target, nick, addr); nickrec = chanrec == NULL ? NULL : nicklist_find(chanrec, nick); diff --git a/src/fe-common/irc/fe-ignore.c b/src/fe-common/irc/fe-ignore.c index 4920128b..989d91cd 100644 --- a/src/fe-common/irc/fe-ignore.c +++ b/src/fe-common/irc/fe-ignore.c @@ -112,8 +112,9 @@ static void ignore_print(int index, IGNORE_REC *rec) IRCTXT_IGNORE_LINE, index, key != NULL ? key : "", levels != NULL ? levels : "", + rec->regexp ? " -regexp" : "", rec->fullword ? " -word" : "", - rec->regexp ? " -regexp" : ""); + rec->replies ? " -replies" : ""); g_free(key); g_free(levels); } @@ -183,8 +184,9 @@ static void cmd_ignore(const char *data) } rec->pattern = *patternarg == '\0' ? NULL : g_strdup(patternarg); - rec->fullword = stristr(args, "-word") != NULL; rec->regexp = stristr(args, "-regexp") != NULL; + rec->fullword = stristr(args, "-word") != NULL; + rec->replies = stristr(args, "-replies") != NULL; if (rec->level == 0 && rec->except_level == 0) { printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_UNIGNORED, diff --git a/src/fe-common/irc/irc-window-activity.c b/src/fe-common/irc/irc-window-activity.c index 5a9aa86f..13417f02 100644 --- a/src/fe-common/irc/irc-window-activity.c +++ b/src/fe-common/irc/irc-window-activity.c @@ -25,6 +25,7 @@ #include "irc.h" #include "ignore.h" #include "irc-server.h" +#include "nicklist.h" #include "completion.h" #include "windows.h" @@ -59,7 +60,7 @@ static void event_privmsg(const char *data, IRC_SERVER_REC *server, const char * if (window != active_win && !ignore_check(server, nick, addr, target, msg, level)) { /* hilight */ level = !ischannel(*target) || - completion_msgtoyou((SERVER_REC *) server, msg) ? + irc_nick_match(server->nick, msg) ? NEWDATA_MSG_FORYOU : NEWDATA_MSG; if (item != NULL && item->new_data < level) { item->new_data = level; |