Changeset d50e22f for protocols/jabber


Ignore:
Timestamp:
2010-06-08T22:22:16Z (14 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
d7db346
Parents:
f1cea66 (diff), 04a927c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merging memory leak fixes from devel, time to find the ui-fix-specific
leaks.

Location:
protocols/jabber
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/jabber.c

    rf1cea66 rd50e22f  
    300300                g_hash_table_destroy( jd->node_cache );
    301301       
     302        jabber_buddy_remove_all( ic );
     303       
    302304        xt_free( jd->xt );
    303305       
  • protocols/jabber/jabber.h

    rf1cea66 rd50e22f  
    292292int jabber_buddy_remove( struct im_connection *ic, char *full_jid );
    293293int jabber_buddy_remove_bare( struct im_connection *ic, char *bare_jid );
     294void jabber_buddy_remove_all( struct im_connection *ic );
    294295time_t jabber_get_timestamp( struct xt_node *xt );
    295296struct jabber_error *jabber_error_parse( struct xt_node *node, char *xmlns );
  • protocols/jabber/jabber_util.c

    rf1cea66 rd50e22f  
    669669}
    670670
     671static gboolean jabber_buddy_remove_all_cb( gpointer key, gpointer value, gpointer data )
     672{
     673        struct jabber_buddy *bud, *next;
     674       
     675        bud = value;
     676        while( bud )
     677        {
     678                next = bud->next;
     679                g_free( bud->ext_jid );
     680                g_free( bud->full_jid );
     681                g_free( bud->away_message );
     682                g_free( bud );
     683                bud = next;
     684        }
     685       
     686        return TRUE;
     687}
     688
     689void jabber_buddy_remove_all( struct im_connection *ic )
     690{
     691        struct jabber_data *jd = ic->proto_data;
     692       
     693        g_hash_table_foreach_remove( jd->buddies, jabber_buddy_remove_all_cb, NULL );
     694        g_hash_table_destroy( jd->buddies );
     695}
     696
    671697time_t jabber_get_timestamp( struct xt_node *xt )
    672698{
Note: See TracChangeset for help on using the changeset viewer.