Fix #45 Make it easy to delete default channels, servers and networks

Removing network will now also remove all attached servers
This commit is contained in:
isundil 2015-10-01 21:14:30 +02:00
commit 2ad6bb1295
3 changed files with 28 additions and 0 deletions

View file

@ -176,6 +176,8 @@ static void cmd_network_add(const char *data)
static void cmd_network_remove(const char *data)
{
IRC_CHATNET_REC *rec;
GSList *servers;
GSList *tmp;
if (*data == '\0') cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS);
@ -183,6 +185,10 @@ static void cmd_network_remove(const char *data)
if (rec == NULL)
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_NETWORK_NOT_FOUND, data);
else {
servers = server_setup_find_chatnet(data);
for (tmp = servers; tmp != NULL; tmp = tmp->next)
server_setup_remove((SERVER_SETUP_REC *) tmp->data);
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_NETWORK_REMOVED, data);
chatnet_remove(CHATNET(rec));
}