]> jfr.im git - irc/irssi/irssi.git/commitdiff
Don't set the usermode field if blank
authorLemonBoy <redacted>
Fri, 2 Oct 2015 09:25:30 +0000 (11:25 +0200)
committerLemonBoy <redacted>
Fri, 2 Oct 2015 09:25:30 +0000 (11:25 +0200)
Fixes FS#919

src/irc/core/irc-chatnets.c
src/irc/core/irc-servers-setup.c

index d72f71dda16b4bed832936ad4fe149ebcb40b74f..0796e0cb6e91b46d3293a7940ae3a0deae3c180b 100644 (file)
@@ -35,10 +35,13 @@ void ircnet_create(IRC_CHATNET_REC *rec)
 
 static void sig_chatnet_read(IRC_CHATNET_REC *rec, CONFIG_NODE *node)
 {
+       char *value;
+
        if (!IS_IRC_CHATNET(rec))
                return;
 
-       rec->usermode = g_strdup(config_node_get_str(node, "usermode", NULL));
+       value = config_node_get_str(node, "usermode", NULL);
+       rec->usermode = (value != NULL && *value != '\0') ? g_strdup(value) : NULL;
 
        rec->max_cmds_at_once = config_node_get_int(node, "cmdmax", 0);
        rec->cmd_queue_speed = config_node_get_int(node, "cmdspeed", 0);
index bf1d2ddf5ba98c22232ebc93e294cd04a0c4e4d3..f425b587bf2157a61475e530a3a156163210b354 100644 (file)
@@ -48,12 +48,18 @@ static void sig_server_setup_fill_reconn(IRC_SERVER_CONNECT_REC *conn,
 
 static void sig_server_setup_fill_connect(IRC_SERVER_CONNECT_REC *conn)
 {
+       const char *value;
+
        if (!IS_IRC_SERVER_CONNECT(conn))
                return;
 
-       conn->alternate_nick = *settings_get_str("alternate_nick") != '\0' ?
-               g_strdup(settings_get_str("alternate_nick")) : NULL;
-        conn->usermode = g_strdup(settings_get_str("usermode"));
+       value = settings_get_str("alternate_nick");
+       conn->alternate_nick = (value != NULL && *value != '\0') ?
+               g_strdup(value) : NULL;
+
+       value = settings_get_str("usermode");
+       conn->usermode = (value != NULL && *value != '\0') ?
+               g_strdup(value) : NULL;
 }
 
 static void sig_server_setup_fill_chatnet(IRC_SERVER_CONNECT_REC *conn,