aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--irc_channel.c7
-rw-r--r--irc_user.c1
-rw-r--r--protocols/bee_user.c1
-rw-r--r--root_commands.c1
4 files changed, 10 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;
diff --git a/irc_user.c b/irc_user.c
index 3305b072..9758350a 100644
--- a/irc_user.c
+++ b/irc_user.c
@@ -106,6 +106,7 @@ int irc_user_free( irc_t *irc, irc_user_t *iu )
g_free( iu->pastebuf );
if( iu->pastebuf_timer ) b_event_remove( iu->pastebuf_timer );
g_free( iu->key );
+ g_free( iu );
return 1;
}
diff --git a/protocols/bee_user.c b/protocols/bee_user.c
index 28235a6d..faa2acb7 100644
--- a/protocols/bee_user.c
+++ b/protocols/bee_user.c
@@ -61,6 +61,7 @@ int bee_user_free( bee_t *bee, bee_user_t *bu )
g_free( bu->fullname );
g_free( bu->status );
g_free( bu->status_msg );
+ g_free( bu );
bee->users = g_slist_remove( bee->users, bu );
diff --git a/root_commands.c b/root_commands.c
index 12e89b32..ebcb6896 100644
--- a/root_commands.c
+++ b/root_commands.c
@@ -1071,6 +1071,7 @@ static void cmd_chat( irc_t *irc, char **cmd )
irc_usermsg( irc, "Could not add chatroom." );
}
+ g_free( channel );
}
else if( g_strcasecmp( cmd[1], "with" ) == 0 )
{