summaryrefslogtreecommitdiff
path: root/src/irc
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2016-03-17 22:27:05 +0100
committerLemonBoy <thatlemon@gmail.com>2016-03-17 22:27:05 +0100
commitf6c2805b91161a01378c9bbe853521c08d460c60 (patch)
tree3bbe4032f024d840abdd891cb435507445616cf4 /src/irc
parent795b7de80891d51adfb912798ca954431cbf702b (diff)
downloadirssi-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.c10
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;
}