Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/jabber_util.c

    r979cfb4 r0adce21  
    142142        entry->node = node;
    143143        entry->func = func;
    144         entry->saved_at = time( NULL );
    145144        g_hash_table_insert( jd->node_cache, xt_find_attr( node, "id" ), entry );
    146145}
     
    164163{
    165164        struct jabber_data *jd = ic->proto_data;
    166         time_t threshold = time( NULL ) - JABBER_CACHE_MAX_AGE;
    167        
    168         g_hash_table_foreach_remove( jd->node_cache, jabber_cache_clean_entry, &threshold );
    169 }
    170 
    171 gboolean jabber_cache_clean_entry( gpointer key, gpointer entry_, gpointer threshold_ )
     165       
     166        g_hash_table_foreach_remove( jd->node_cache, jabber_cache_clean_entry, NULL );
     167}
     168
     169gboolean jabber_cache_clean_entry( gpointer key, gpointer entry_, gpointer nullpointer )
    172170{
    173171        struct jabber_cache_entry *entry = entry_;
    174         time_t *threshold = threshold_;
    175        
    176         return entry->saved_at < *threshold;
     172        struct xt_node *node = entry->node;
     173       
     174        if( node->flags & XT_SEEN )
     175                return TRUE;
     176        else
     177        {
     178                node->flags |= XT_SEEN;
     179                return FALSE;
     180        }
    177181}
    178182
Note: See TracChangeset for help on using the changeset viewer.