aboutsummaryrefslogtreecommitdiffstats
path: root/irc_channel.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-06-08 23:44:16 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-06-08 23:44:16 +0100
commitd7db3468f95d6b8ed2a161c71cb5b6ab1a7b5895 (patch)
tree17c6592e30e96cf19c7087df063bcbec5f9ad879 /irc_channel.c
parentd50e22f72987597152198811a22e50a97a902bcc (diff)
Some cleanup improvements.
Diffstat (limited to 'irc_channel.c')
-rw-r--r--irc_channel.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/irc_channel.c b/irc_channel.c
index d98d0652..c676afe6 100644
--- a/irc_channel.c
+++ b/irc_channel.c
@@ -119,6 +119,12 @@ int irc_channel_free( irc_channel_t *ic )
if( ic->flags & IRC_CHANNEL_JOINED )
irc_channel_del_user( ic, irc->user, FALSE, "Cleaning up channel" );
+ if( ic->f->_free )
+ ic->f->_free( ic );
+
+ while( ic->set )
+ set_del( &ic->set, ic->set->key );
+
irc->channels = g_slist_remove( irc->channels, ic );
while( ic->users )
{
@@ -128,6 +134,7 @@ int irc_channel_free( irc_channel_t *ic )
g_free( ic->name );
g_free( ic->topic );
+ g_free( ic->topic_who );
g_free( ic );
return 1;