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 )  	{ | 
