Changeset d50e22f


Ignore:
Timestamp:
2010-06-08T22:22:16Z (9 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.

Files:
5 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{
  • protocols/twitter/twitter.c

    rf1cea66 rd50e22f  
    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 );
  • storage_xml.c

    rf1cea66 rd50e22f  
    404404                return STORAGE_ALREADY_EXISTS;
    405405       
    406         strcat( path, "~" );
    407         if( ( fd = open( path, O_WRONLY | O_CREAT | O_TRUNC, 0600 ) ) < 0 )
     406        strcat( path, ".XXXXXX" );
     407        if( ( fd = mkstemp( path ) ) < 0 )
    408408        {
    409409                irc_usermsg( irc, "Error while opening configuration file." );
     
    501501        close( fd );
    502502       
    503         path2 = g_strndup( path, strlen( path ) - 1 );
     503        path2 = g_strndup( path, strlen( path ) - 7 );
    504504        if( rename( path, path2 ) != 0 )
    505505        {
Note: See TracChangeset for help on using the changeset viewer.