diff options
author | LemonBoy <thatlemon@gmail.com> | 2016-03-17 22:27:05 +0100 |
---|---|---|
committer | LemonBoy <thatlemon@gmail.com> | 2016-03-17 22:27:05 +0100 |
commit | f6c2805b91161a01378c9bbe853521c08d460c60 (patch) | |
tree | 3bbe4032f024d840abdd891cb435507445616cf4 /src/irc | |
parent | 795b7de80891d51adfb912798ca954431cbf702b (diff) | |
download | irssi-f6c2805b91161a01378c9bbe853521c08d460c60.zip |
Do not assume any default value for statusmsg.
If the server didn't send it then just skip the check, the old value it
defaulted to was possibly overlapping with the CHANTYPES leading to an
incorrect behaviour. Fixes #435.
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/core/irc-servers.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/irc/core/irc-servers.c b/src/irc/core/irc-servers.c index 81f0c269..d6fb8018 100644 --- a/src/irc/core/irc-servers.c +++ b/src/irc/core/irc-servers.c @@ -81,12 +81,12 @@ static int ischannel_func(SERVER_REC *server, const char *data) chantypes = g_hash_table_lookup(irc_server->isupport, "chantypes"); if (chantypes == NULL) chantypes = "#&!+"; /* normal, local, secure, modeless */ - statusmsg = g_hash_table_lookup(irc_server->isupport, "statusmsg"); - if (statusmsg == NULL) - statusmsg = "@+"; - while (strchr(statusmsg, *data) != NULL) - data++; + statusmsg = g_hash_table_lookup(irc_server->isupport, "statusmsg"); + if (statusmsg != NULL) { + while (strchr(statusmsg, *data) != NULL) + data++; + } return strchr(chantypes, *data) != NULL; } |