Fix url detection of channel with nick prefix

Closes #769
This commit is contained in:
TingPing 2013-09-23 14:58:11 -04:00
parent 145ceba124
commit 0146a38faa
1 changed files with 10 additions and 1 deletions

View File

@ -266,11 +266,20 @@ match_channel (const char *word, int *start, int *end)
{ {
const server *serv = current_sess->server; const server *serv = current_sess->server;
const char *chan_prefixes = serv ? serv->chantypes : CHANPRE; 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)) if (!regex_match (re_channel (), word, start, end))
return FALSE; 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 static gboolean