Changeset 04a927c for protocols


Ignore:
Timestamp:
2010-06-07T23:04:58Z (14 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
4eef271, d50e22f
Parents:
f277225
Message:

Fixing some memory leakage.

Location:
protocols
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/jabber.c

    rf277225 r04a927c  
    286286                g_hash_table_destroy( jd->node_cache );
    287287       
     288        jabber_buddy_remove_all( ic );
     289       
    288290        xt_free( jd->xt );
    289291       
  • protocols/jabber/jabber.h

    rf277225 r04a927c  
    230230int jabber_buddy_remove( struct im_connection *ic, char *full_jid );
    231231int jabber_buddy_remove_bare( struct im_connection *ic, char *bare_jid );
     232void jabber_buddy_remove_all( struct im_connection *ic );
    232233time_t jabber_get_timestamp( struct xt_node *xt );
    233234struct jabber_error *jabber_error_parse( struct xt_node *node, char *xmlns );
  • protocols/jabber/jabber_util.c

    rf277225 r04a927c  
    665665}
    666666
     667static gboolean jabber_buddy_remove_all_cb( gpointer key, gpointer value, gpointer data )
     668{
     669        struct jabber_buddy *bud, *next;
     670       
     671        bud = value;
     672        while( bud )
     673        {
     674                next = bud->next;
     675                g_free( bud->ext_jid );
     676                g_free( bud->full_jid );
     677                g_free( bud->away_message );
     678                g_free( bud );
     679                bud = next;
     680        }
     681       
     682        return TRUE;
     683}
     684
     685void jabber_buddy_remove_all( struct im_connection *ic )
     686{
     687        struct jabber_data *jd = ic->proto_data;
     688       
     689        g_hash_table_foreach_remove( jd->buddies, jabber_buddy_remove_all_cb, NULL );
     690        g_hash_table_destroy( jd->buddies );
     691}
     692
    667693time_t jabber_get_timestamp( struct xt_node *xt )
    668694{
  • protocols/twitter/twitter.c

    rf277225 r04a927c  
    236236        {
    237237                oauth_info_free( td->oauth_info );
     238                g_free( td->url_host );
     239                g_free( td->url_path );
    238240                g_free( td->pass );
    239241                g_free( td );
Note: See TracChangeset for help on using the changeset viewer.