From fb9f5174c2f85c113dac8dbc1d146fe530e53e44 Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Thu, 8 Mar 2018 20:35:00 +0100 Subject: Compare channels/networks fields case-insensitively Fixes #856 --- src/core/channels-setup.c | 9 +++++++-- src/core/servers-setup.c | 7 ++++++- 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; } -- cgit v1.2.3