From d995c9b5de1bff5e3eb5de47b7ffbd3e92e2ac3d Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Sun, 31 Aug 2008 15:54:39 +0100 Subject: Added cleanup code. --- account.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'account.c') diff --git a/account.c b/account.c index f3e15d7e..f547d8f1 100644 --- a/account.c +++ b/account.c @@ -189,6 +189,7 @@ account_t *account_get( irc_t *irc, char *id ) void account_del( irc_t *irc, account_t *acc ) { account_t *a, *l = NULL; + struct chat *c, *nc; if( acc->ic ) /* Caller should have checked, accounts still in use can't be deleted. */ @@ -202,6 +203,13 @@ void account_del( irc_t *irc, account_t *acc ) else irc->accounts = a->next; + for( c = irc->chatrooms; c; c = nc ) + if( acc == c->acc ) + { + nc = c->next; + chat_del( irc, c ); + } + while( a->set ) set_del( &a->set, a->set->key ); -- cgit v1.2.3