Changeset 12398
- Timestamp:
- Apr 28, 2011, 11:13:14 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gtk/filter.c
r12357 r12398 134 134 GtkTreeModel * model = GTK_TREE_MODEL( store ); 135 135 GPtrArray * hosts = g_ptr_array_new( ); 136 G HashTable * hosts_hash = g_hash_table_new_full( g_str_hash, g_str_equal,137 g_free, g_free );136 GStringChunk * strings = g_string_chunk_new( 4096 ); 137 GHashTable * hosts_hash = g_hash_table_new_full( g_str_hash, g_str_equal, NULL, g_free ); 138 138 GObject * o = G_OBJECT( store ); 139 GtkTreeModel * tmodel = GTK_TREE_MODEL( 140 g_object_get_qdata( o, TORRENT_MODEL_KEY ) ); 139 GtkTreeModel * tmodel = GTK_TREE_MODEL( g_object_get_qdata( o, TORRENT_MODEL_KEY ) ); 141 140 142 141 g_object_steal_qdata( o, DIRTY_KEY ); … … 161 160 int k; 162 161 int * count; 163 char key[1024]; 164 165 gtr_get_host_from_url( key, sizeof( key ), inf->trackers[i].announce ); 162 char buf[1024]; 163 char * key; 164 165 gtr_get_host_from_url( buf, sizeof( buf ), inf->trackers[i].announce ); 166 key = g_string_chunk_insert( strings, buf ); 167 166 168 count = g_hash_table_lookup( hosts_hash, key ); 167 169 if( count == NULL ) 168 170 { 169 171 count = tr_new0( int, 1 ); 170 g_hash_table_insert( hosts_hash, g_strdup( key ), count );171 g_ptr_array_add( hosts, g_strdup( key ));172 g_hash_table_insert( hosts_hash, key, count ); 173 g_ptr_array_add( hosts, key ); 172 174 } 173 175 … … 176 178 break; 177 179 if( k==keyCount ) 178 keys[keyCount++] = g_strdup( key );180 keys[keyCount++] = key; 179 181 } 180 182 … … 183 185 int * incrementme = g_hash_table_lookup( hosts_hash, keys[i] ); 184 186 ++*incrementme; 185 g_free( keys[i] );186 187 } 187 188 g_free( keys ); … … 292 293 293 294 /* cleanup */ 294 g_ptr_array_foreach( hosts, (GFunc)g_free, NULL );295 295 g_ptr_array_free( hosts, TRUE ); 296 296 g_hash_table_unref( hosts_hash ); 297 g_string_chunk_free( strings ); 297 298 return FALSE; 298 299 }
Note: See TracChangeset
for help on using the changeset viewer.