From 0146a38faa9ae6997f2bcbe02fa9af378a9cc715 Mon Sep 17 00:00:00 2001 From: TingPing Date: Mon, 23 Sep 2013 14:58:11 -0400 Subject: [PATCH] Fix url detection of channel with nick prefix Closes #769 --- src/common/url.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/common/url.c b/src/common/url.c index 57d8d88b..0df78f78 100644 --- a/src/common/url.c +++ b/src/common/url.c @@ -266,11 +266,20 @@ match_channel (const char *word, int *start, int *end) { const server *serv = current_sess->server; const char *chan_prefixes = serv ? serv->chantypes : CHANPRE; + const char *nick_prefixes = serv ? serv->nick_prefixes : NICKPRE; if (!regex_match (re_channel (), word, start, end)) return FALSE; - return strchr (chan_prefixes, word[*start]) != NULL; + /* Check for +#channel (for example whois output) */ + if (strchr (nick_prefixes, word[*start]) != NULL + && strchr (chan_prefixes, word[*start + 1]) != NULL) + return TRUE; + /* Or just #channel */ + else if (strchr (chan_prefixes, word[*start]) != NULL) + return TRUE; + + return FALSE; } static gboolean