/* SYNTAX: SERVER LIST */ static void cmd_server_list(const char *data) { GString *str; GSList *tmp; str = g_string_new(NULL); printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, IRCTXT_SETUPSERVER_HEADER); for (tmp = setupservers; tmp != NULL; tmp = tmp->next) { IRC_SERVER_SETUP_REC *rec = tmp->data; if (!IS_IRC_SERVER_SETUP(rec)) continue; g_string_truncate(str, 0); if (rec->password != NULL) g_string_append(str, "(pass), "); if (rec->autoconnect) g_string_append(str, "autoconnect, "); if (rec->max_cmds_at_once > 0) g_string_sprintfa(str, "cmdmax: %d, ", rec->max_cmds_at_once); if (rec->cmd_queue_speed > 0) g_string_sprintfa(str, "cmdspeed: %d, ", rec->cmd_queue_speed); if (rec->own_host != NULL) g_string_sprintfa(str, "host: %s, ", rec->own_host); if (str->len > 1) g_string_truncate(str, str->len-2); printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, IRCTXT_SETUPSERVER_LINE, rec->address, rec->port, rec->chatnet == NULL ? "" : rec->chatnet, str->str); } printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, IRCTXT_SETUPSERVER_FOOTER); g_string_free(str, TRUE); }
static void sig_server_setup_read(IRC_SERVER_SETUP_REC *rec, CONFIG_NODE *node) { g_return_if_fail(rec != NULL); g_return_if_fail(node != NULL); if (!IS_IRC_SERVER_SETUP(rec)) return; rec->max_cmds_at_once = config_node_get_int(node, "cmds_max_at_once", 0); rec->cmd_queue_speed = config_node_get_int(node, "cmd_queue_speed", 0); rec->max_query_chans = config_node_get_int(node, "max_query_chans", 0); }
static void sig_server_setup_saved(IRC_SERVER_SETUP_REC *rec, CONFIG_NODE *node) { if (!IS_IRC_SERVER_SETUP(rec)) return; if (rec->max_cmds_at_once > 0) iconfig_node_set_int(node, "cmds_max_at_once", rec->max_cmds_at_once); if (rec->cmd_queue_speed > 0) iconfig_node_set_int(node, "cmd_queue_speed", rec->cmd_queue_speed); if (rec->max_query_chans > 0) iconfig_node_set_int(node, "max_query_chans", rec->max_query_chans); }
/* Fill information to connection from server setup record */ static void sig_server_setup_fill_reconn(IRC_SERVER_CONNECT_REC *conn, IRC_SERVER_SETUP_REC *sserver) { if (!IS_IRC_SERVER_CONNECT(conn) || !IS_IRC_SERVER_SETUP(sserver)) return; if (sserver->cmd_queue_speed > 0) conn->cmd_queue_speed = sserver->cmd_queue_speed; if (sserver->max_cmds_at_once > 0) conn->max_cmds_at_once = sserver->max_cmds_at_once; if (sserver->max_query_chans > 0) conn->max_query_chans = sserver->max_query_chans; }