static PyObject *PyQuery_change_server(PyQuery *self, PyObject *args, PyObject *kwds) { static char *kwlist[] = {"server", NULL}; PyObject *server; RET_NULL_IF_INVALID(self->data); if (!PyArg_ParseTupleAndKeywords(args, kwds, "O", kwlist, &server)) return NULL; if (!pyserver_check(server)) return PyErr_Format(PyExc_TypeError, "argument must be server object"); query_change_server(self->data, ((PyServer*)server)->data); Py_RETURN_NONE; }
static void cmd_window_server(const char *data) { SERVER_REC *server; QUERY_REC *query; g_return_if_fail(data != NULL); server = server_find_tag(data); query = QUERY(active_win->active); if (server == NULL || query == NULL) return; /* /WINDOW SERVER used in a query window */ query_change_server(query, server); printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_QUERY_SERVER_CHANGED, query->name, server->tag); signal_stop(); }
static void cmd_window_server(const char *data) { SERVER_REC *server; g_return_if_fail(data != NULL); server = server_find_tag(data); if (irc_server_check(server) && irc_item_query(active_win->active)) { /* /WINDOW SERVER used in a query window */ query_change_server((QUERY_REC *) active_win->active, (IRC_SERVER_REC *) server); window_change_server(active_win, server); printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_QUERY_SERVER_CHANGED, server->tag, server->connrec->address, server->connrec->ircnet == NULL ? "" : server->connrec->ircnet); signal_stop(); } }
static int server_remove_channels(SERVER_REC *server) { GSList *tmp, *next; int found; g_return_val_if_fail(server != NULL, FALSE); found = FALSE; for (tmp = server->channels; tmp != NULL; tmp = next) { CHANNEL_REC *channel = tmp->data; next = tmp->next; channel_destroy(channel); found = TRUE; } while (server->queries != NULL) query_change_server(server->queries->data, NULL); g_slist_free(server->channels); g_slist_free(server->queries); return found; }