File: | irc/core/irc-servers-setup.c |
Location: | line 112, column 3 |
Description: | Value stored to 'nick' is never read |
1 | /* |
2 | irc-servers-setup.c : irssi |
3 | |
4 | Copyright (C) 1999-2000 Timo Sirainen |
5 | |
6 | This program is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 2 of the License, or |
9 | (at your option) any later version. |
10 | |
11 | This program is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. |
15 | |
16 | You should have received a copy of the GNU General Public License along |
17 | with this program; if not, write to the Free Software Foundation, Inc., |
18 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
19 | */ |
20 | |
21 | #include "module.h" |
22 | #include "signals.h" |
23 | #include "network.h" |
24 | #include "servers-setup.h" |
25 | #include "lib-config/iconfig.h" |
26 | #include "settings.h" |
27 | |
28 | #include "irc-chatnets.h" |
29 | #include "irc-servers-setup.h" |
30 | #include "irc-servers.h" |
31 | |
32 | /* Fill information to connection from server setup record */ |
33 | static void sig_server_setup_fill_reconn(IRC_SERVER_CONNECT_REC *conn, |
34 | IRC_SERVER_SETUP_REC *sserver) |
35 | { |
36 | if (!IS_IRC_SERVER_CONNECT(conn)(((IRC_SERVER_CONNECT_REC *) chat_protocol_check_cast(((SERVER_CONNECT_REC *) module_check_cast(conn, __builtin_offsetof(SERVER_CONNECT_REC , type), "SERVER CONNECT")), __builtin_offsetof(IRC_SERVER_CONNECT_REC , chat_type), "IRC")) ? (!(0)) : (0)) || |
37 | !IS_IRC_SERVER_SETUP(sserver)(((IRC_SERVER_SETUP_REC *) chat_protocol_check_cast(((SERVER_SETUP_REC *) module_check_cast(sserver, __builtin_offsetof(SERVER_SETUP_REC , type), "SERVER SETUP")), __builtin_offsetof(IRC_SERVER_SETUP_REC , chat_type), "IRC")) ? (!(0)) : (0))) |
38 | return; |
39 | |
40 | if (sserver->cmd_queue_speed > 0) |
41 | conn->cmd_queue_speed = sserver->cmd_queue_speed; |
42 | if (sserver->max_cmds_at_once > 0) |
43 | conn->max_cmds_at_once = sserver->max_cmds_at_once; |
44 | if (sserver->max_query_chans > 0) |
45 | conn->max_query_chans = sserver->max_query_chans; |
46 | } |
47 | |
48 | static void sig_server_setup_fill_connect(IRC_SERVER_CONNECT_REC *conn) |
49 | { |
50 | if (!IS_IRC_SERVER_CONNECT(conn)(((IRC_SERVER_CONNECT_REC *) chat_protocol_check_cast(((SERVER_CONNECT_REC *) module_check_cast(conn, __builtin_offsetof(SERVER_CONNECT_REC , type), "SERVER CONNECT")), __builtin_offsetof(IRC_SERVER_CONNECT_REC , chat_type), "IRC")) ? (!(0)) : (0))) |
51 | return; |
52 | |
53 | conn->alternate_nick = *settings_get_str("alternate_nick") != '\0' ? |
54 | g_strdup(settings_get_str("alternate_nick")) : NULL((void *)0); |
55 | conn->usermode = g_strdup(settings_get_str("usermode")); |
56 | } |
57 | |
58 | static void sig_server_setup_fill_chatnet(IRC_SERVER_CONNECT_REC *conn, |
59 | IRC_CHATNET_REC *ircnet) |
60 | { |
61 | if (!IS_IRC_SERVER_CONNECT(conn)(((IRC_SERVER_CONNECT_REC *) chat_protocol_check_cast(((SERVER_CONNECT_REC *) module_check_cast(conn, __builtin_offsetof(SERVER_CONNECT_REC , type), "SERVER CONNECT")), __builtin_offsetof(IRC_SERVER_CONNECT_REC , chat_type), "IRC")) ? (!(0)) : (0))) |
62 | return; |
63 | g_return_if_fail(IS_IRCNET(ircnet))do{ if ((((IRC_CHATNET_REC *) chat_protocol_check_cast(((CHATNET_REC *) module_check_cast(ircnet, __builtin_offsetof(CHATNET_REC, type), "CHATNET")), __builtin_offsetof(IRC_CHATNET_REC, chat_type ), "IRC")) ? (!(0)) : (0))) { } else { g_return_if_fail_warning (((gchar*) 0), __PRETTY_FUNCTION__, "IS_IRCNET(ircnet)"); return ; }; }while (0); |
64 | |
65 | if (ircnet->nick != NULL((void *)0)) g_free_and_null(conn->alternate_nick)do { if (conn->alternate_nick) { g_free(conn->alternate_nick ); (conn->alternate_nick) = ((void *)0); } } while (0); |
66 | if (ircnet->usermode != NULL((void *)0)) { |
67 | g_free_and_null(conn->usermode)do { if (conn->usermode) { g_free(conn->usermode); (conn ->usermode) = ((void *)0); } } while (0); |
68 | conn->usermode = g_strdup(ircnet->usermode); |
69 | } |
70 | |
71 | if (ircnet->max_kicks > 0) conn->max_kicks = ircnet->max_kicks; |
72 | if (ircnet->max_msgs > 0) conn->max_msgs = ircnet->max_msgs; |
73 | if (ircnet->max_modes > 0) conn->max_modes = ircnet->max_modes; |
74 | if (ircnet->max_whois > 0) conn->max_whois = ircnet->max_whois; |
75 | |
76 | if (ircnet->max_cmds_at_once > 0) |
77 | conn->max_cmds_at_once = ircnet->max_cmds_at_once; |
78 | if (ircnet->cmd_queue_speed > 0) |
79 | conn->cmd_queue_speed = ircnet->cmd_queue_speed; |
80 | if (ircnet->max_query_chans > 0) |
81 | conn->max_query_chans = ircnet->max_query_chans; |
82 | } |
83 | |
84 | static void init_userinfo(void) |
85 | { |
86 | const char *set, *nick, *user_name, *str; |
87 | |
88 | /* check if nick/username/realname wasn't read from setup.. */ |
89 | set = settings_get_str("real_name"); |
90 | if (set == NULL((void *)0) || *set == '\0') { |
91 | str = g_getenv("IRCNAME"); |
92 | settings_set_str("real_name", |
93 | str != NULL((void *)0) ? str : g_get_real_name()); |
94 | } |
95 | |
96 | /* username */ |
97 | user_name = settings_get_str("user_name"); |
98 | if (user_name == NULL((void *)0) || *user_name == '\0') { |
99 | str = g_getenv("IRCUSER"); |
100 | settings_set_str("user_name", |
101 | str != NULL((void *)0) ? str : g_get_user_name()); |
102 | |
103 | user_name = settings_get_str("user_name"); |
104 | } |
105 | |
106 | /* nick */ |
107 | nick = settings_get_str("nick"); |
108 | if (nick == NULL((void *)0) || *nick == '\0') { |
109 | str = g_getenv("IRCNICK"); |
110 | settings_set_str("nick", str != NULL((void *)0) ? str : user_name); |
111 | |
112 | nick = settings_get_str("nick"); |
Value stored to 'nick' is never read | |
113 | } |
114 | |
115 | /* host name */ |
116 | set = settings_get_str("hostname"); |
117 | if (set == NULL((void *)0) || *set == '\0') { |
118 | str = g_getenv("IRCHOST"); |
119 | if (str != NULL((void *)0)) |
120 | settings_set_str("hostname", str); |
121 | } |
122 | } |
123 | |
124 | static void sig_server_setup_read(IRC_SERVER_SETUP_REC *rec, CONFIG_NODE *node) |
125 | { |
126 | g_return_if_fail(rec != NULL)do{ if (rec != ((void *)0)) { } else { g_return_if_fail_warning (((gchar*) 0), __PRETTY_FUNCTION__, "rec != NULL"); return; } ; }while (0); |
127 | g_return_if_fail(node != NULL)do{ if (node != ((void *)0)) { } else { g_return_if_fail_warning (((gchar*) 0), __PRETTY_FUNCTION__, "node != NULL"); return; }; }while (0); |
128 | |
129 | if (!IS_IRC_SERVER_SETUP(rec)(((IRC_SERVER_SETUP_REC *) chat_protocol_check_cast(((SERVER_SETUP_REC *) module_check_cast(rec, __builtin_offsetof(SERVER_SETUP_REC , type), "SERVER SETUP")), __builtin_offsetof(IRC_SERVER_SETUP_REC , chat_type), "IRC")) ? (!(0)) : (0))) |
130 | return; |
131 | |
132 | rec->max_cmds_at_once = config_node_get_int(node, "cmds_max_at_once", 0); |
133 | rec->cmd_queue_speed = config_node_get_int(node, "cmd_queue_speed", 0); |
134 | rec->max_query_chans = config_node_get_int(node, "max_query_chans", 0); |
135 | } |
136 | |
137 | static void sig_server_setup_saved(IRC_SERVER_SETUP_REC *rec, |
138 | CONFIG_NODE *node) |
139 | { |
140 | if (!IS_IRC_SERVER_SETUP(rec)(((IRC_SERVER_SETUP_REC *) chat_protocol_check_cast(((SERVER_SETUP_REC *) module_check_cast(rec, __builtin_offsetof(SERVER_SETUP_REC , type), "SERVER SETUP")), __builtin_offsetof(IRC_SERVER_SETUP_REC , chat_type), "IRC")) ? (!(0)) : (0))) |
141 | return; |
142 | |
143 | if (rec->max_cmds_at_once > 0) |
144 | iconfig_node_set_int(node, "cmds_max_at_once", rec->max_cmds_at_once)config_node_set_int(mainconfig, node, "cmds_max_at_once", rec ->max_cmds_at_once); |
145 | if (rec->cmd_queue_speed > 0) |
146 | iconfig_node_set_int(node, "cmd_queue_speed", rec->cmd_queue_speed)config_node_set_int(mainconfig, node, "cmd_queue_speed", rec-> cmd_queue_speed); |
147 | if (rec->max_query_chans > 0) |
148 | iconfig_node_set_int(node, "max_query_chans", rec->max_query_chans)config_node_set_int(mainconfig, node, "max_query_chans", rec-> max_query_chans); |
149 | } |
150 | |
151 | void irc_servers_setup_init(void) |
152 | { |
153 | settings_add_bool("server", "skip_motd", FALSE)settings_add_bool_module("irc/core", "server", "skip_motd", ( 0)); |
154 | settings_add_str("server", "alternate_nick", "")settings_add_str_module("irc/core", "server", "alternate_nick" , ""); |
155 | |
156 | init_userinfo(); |
157 | signal_add("server setup fill reconn", (SIGNAL_FUNC) sig_server_setup_fill_reconn)signal_add_full("irc/core", 0, ("server setup fill reconn"), ( SIGNAL_FUNC) ((SIGNAL_FUNC) sig_server_setup_fill_reconn), (( void *)0)); |
158 | signal_add("server setup fill connect", (SIGNAL_FUNC) sig_server_setup_fill_connect)signal_add_full("irc/core", 0, ("server setup fill connect"), (SIGNAL_FUNC) ((SIGNAL_FUNC) sig_server_setup_fill_connect), ((void *)0)); |
159 | signal_add("server setup fill chatnet", (SIGNAL_FUNC) sig_server_setup_fill_chatnet)signal_add_full("irc/core", 0, ("server setup fill chatnet"), (SIGNAL_FUNC) ((SIGNAL_FUNC) sig_server_setup_fill_chatnet), ((void *)0)); |
160 | signal_add("server setup read", (SIGNAL_FUNC) sig_server_setup_read)signal_add_full("irc/core", 0, ("server setup read"), (SIGNAL_FUNC ) ((SIGNAL_FUNC) sig_server_setup_read), ((void *)0)); |
161 | signal_add("server setup saved", (SIGNAL_FUNC) sig_server_setup_saved)signal_add_full("irc/core", 0, ("server setup saved"), (SIGNAL_FUNC ) ((SIGNAL_FUNC) sig_server_setup_saved), ((void *)0)); |
162 | } |
163 | |
164 | void irc_servers_setup_deinit(void) |
165 | { |
166 | signal_remove("server setup fill reconn", (SIGNAL_FUNC) sig_server_setup_fill_reconn)signal_remove_full(("server setup fill reconn"), (SIGNAL_FUNC ) ((SIGNAL_FUNC) sig_server_setup_fill_reconn), ((void *)0)); |
167 | signal_remove("server setup fill connect", (SIGNAL_FUNC) sig_server_setup_fill_connect)signal_remove_full(("server setup fill connect"), (SIGNAL_FUNC ) ((SIGNAL_FUNC) sig_server_setup_fill_connect), ((void *)0)); |
168 | signal_remove("server setup fill chatnet", (SIGNAL_FUNC) sig_server_setup_fill_chatnet)signal_remove_full(("server setup fill chatnet"), (SIGNAL_FUNC ) ((SIGNAL_FUNC) sig_server_setup_fill_chatnet), ((void *)0)); |
169 | signal_remove("server setup read", (SIGNAL_FUNC) sig_server_setup_read)signal_remove_full(("server setup read"), (SIGNAL_FUNC) ((SIGNAL_FUNC ) sig_server_setup_read), ((void *)0)); |
170 | signal_remove("server setup saved", (SIGNAL_FUNC) sig_server_setup_saved)signal_remove_full(("server setup saved"), (SIGNAL_FUNC) ((SIGNAL_FUNC ) sig_server_setup_saved), ((void *)0)); |
171 | } |