diff options
-rw-r--r-- | irc_channel.c | 7 | ||||
-rw-r--r-- | irc_user.c | 1 | ||||
-rw-r--r-- | protocols/bee_user.c | 1 | ||||
-rw-r--r-- | root_commands.c | 1 |
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; @@ -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 ) { |