summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2018-03-08 20:35:00 +0100
committerLemonBoy <thatlemon@gmail.com>2018-03-08 20:35:00 +0100
commitfb9f5174c2f85c113dac8dbc1d146fe530e53e44 (patch)
treefcfd1583a1750552d7899f743fae74eacf392b91
parent1178f753cf07cbbfd000d6b0fccf5a5dd7b54b5b (diff)
downloadirssi-fb9f5174c2f85c113dac8dbc1d146fe530e53e44.zip
Compare channels/networks fields case-insensitively
Fixes #856
-rw-r--r--src/core/channels-setup.c9
-rw-r--r--src/core/servers-setup.c7
2 files changed, 13 insertions, 3 deletions
diff --git a/src/core/channels-setup.c b/src/core/channels-setup.c
index 4966d77d..8002646d 100644
--- a/src/core/channels-setup.c
+++ b/src/core/channels-setup.c
@@ -37,9 +37,14 @@ static int compare_channel_setup (CONFIG_NODE *node, CHANNEL_SETUP_REC *channel)
name = config_node_get_str(node, "name", NULL);
chatnet = config_node_get_str(node, "chatnet", NULL);
- if (g_strcmp0(name, channel->name) != 0 ||
- g_strcmp0(chatnet, channel->chatnet) != 0)
+ if (name == NULL || chatnet == NULL) {
+ return 0;
+ }
+
+ if (g_ascii_strcasecmp(name, channel->name) != 0 ||
+ g_ascii_strcasecmp(chatnet, channel->chatnet) != 0) {
return 1;
+ }
return 0;
}
diff --git a/src/core/servers-setup.c b/src/core/servers-setup.c
index 9492c58c..878dd0ea 100644
--- a/src/core/servers-setup.c
+++ b/src/core/servers-setup.c
@@ -474,10 +474,15 @@ static int compare_server_setup (CONFIG_NODE *node, SERVER_SETUP_REC *server)
chatnet = config_node_get_str(node, "chatnet", NULL);
port = config_node_get_int(node, "port", 0);
+ if (address == NULL || chatnet == NULL) {
+ return 0;
+ }
+
if (g_strcmp0(address, server->address) != 0 ||
g_strcmp0(chatnet, server->chatnet) != 0 ||
- port != server->port)
+ port != server->port) {
return 1;
+ }
return 0;
}