mirror of
https://github.com/irssi/irssi.git
synced 2026-08-11 04:43:34 +02:00
Implement CHANTYPES support
This commit is contained in:
parent
c122a2a226
commit
16c71cf1fb
23 changed files with 57 additions and 55 deletions
|
|
@ -71,13 +71,20 @@ static int isnickflag_func(SERVER_REC *server, char flag)
|
|||
|
||||
static int ischannel_func(SERVER_REC *server, const char *data)
|
||||
{
|
||||
if (*data == '@') {
|
||||
/* @#channel, @+#channel */
|
||||
data++;
|
||||
if (*data == '+' && ischannel(data[1]))
|
||||
return 1;
|
||||
}
|
||||
return ischannel(*data);
|
||||
IRC_SERVER_REC *irc_server = (IRC_SERVER_REC *) server;
|
||||
char *chantypes;
|
||||
|
||||
chantypes = g_hash_table_lookup(irc_server->isupport, "chantypes");
|
||||
if (chantypes == NULL)
|
||||
chantypes = "#&!+"; /* normal, local, secure, modeless */
|
||||
|
||||
/* @#channel, @+#channel */
|
||||
if (data[0] == '@' && data[1] == '+')
|
||||
data += 2;
|
||||
else if (data[0] == '@')
|
||||
data += 1;
|
||||
|
||||
return strchr(chantypes, *data) != NULL;
|
||||
}
|
||||
|
||||
static char **split_line(const SERVER_REC *server, const char *line,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue