Use g_slice allocation for 'reassembled_table' keys (instead of se allocation).

Not strictly required, but IMO a bit cleaner (if maybe a bit less efficient).

svn path=/trunk/; revision=44382
This commit is contained in:
Bill Meier 2012-08-09 14:55:13 +00:00
parent ab3dc72ea0
commit 103ddcbfd5
1 changed files with 10 additions and 10 deletions

View File

@ -235,10 +235,10 @@ static fragment_data *new_head(const guint32 flags)
/*
* For a reassembled-packet hash table entry, free the fragment data
* to which the value refers.
* to which the value refers and also the key itself.
*/
static gboolean
free_all_reassembled_fragments(gpointer key_arg _U_, gpointer value,
free_all_reassembled_fragments(gpointer key_arg, gpointer value,
gpointer user_data)
{
GPtrArray *allocated_fragments = (GPtrArray *) user_data;
@ -260,6 +260,8 @@ free_all_reassembled_fragments(gpointer key_arg _U_, gpointer value,
}
}
g_slice_free(reassembled_key, (reassembled_key *)key_arg);
return TRUE;
}
@ -307,8 +309,7 @@ fragment_table_init(GHashTable **fragment_table)
*
* Remove all entries and free fragment data for each entry.
*
* If slices are used (GLIB >= 2.10)
* the keys are freed by calling fragment_free_key()
* The keys are freed by calling fragment_free_key()
* and the values are freed in free_all_fragments().
*
* free_all_fragments()
@ -370,7 +371,7 @@ reassembled_table_init(GHashTable **reassembled_table)
* The reassembled-packet hash table exists.
*
* Remove all entries and free reassembled packet
* data for each entry.
* data and key for each entry.
*/
allocated_fragments = g_ptr_array_new();
@ -381,8 +382,7 @@ reassembled_table_init(GHashTable **reassembled_table)
g_ptr_array_free(allocated_fragments, TRUE);
} else {
/* The fragment table does not exist. Create it */
*reassembled_table = g_hash_table_new(reassembled_hash,
reassembled_equal);
*reassembled_table = g_hash_table_new(reassembled_hash, reassembled_equal);
}
}
@ -615,7 +615,7 @@ fragment_reassembled(fragment_data *fd_head, const packet_info *pinfo,
* This was not fragmented, so there's no fragment
* table; just hash it using the current frame number.
*/
new_key = se_alloc(sizeof(reassembled_key));
new_key = g_slice_new(reassembled_key);
new_key->frame = pinfo->fd->num;
new_key->id = id;
g_hash_table_insert(reassembled_table, new_key, fd_head);
@ -624,7 +624,7 @@ fragment_reassembled(fragment_data *fd_head, const packet_info *pinfo,
* Hash it with the frame numbers for all the frames.
*/
for (fd = fd_head->next; fd != NULL; fd = fd->next){
new_key = se_alloc(sizeof(reassembled_key));
new_key = g_slice_new(reassembled_key);
new_key->frame = fd->frame;
new_key->id = id;
g_hash_table_insert(reassembled_table, new_key,
@ -1811,7 +1811,7 @@ fragment_end_seq_next(const packet_info *pinfo, const guint32 id, GHashTable *fr
*/
fragment_reassembled(fd_head, pinfo, reassembled_table, id);
if (fd_head->next != NULL) {
new_key = se_alloc(sizeof(reassembled_key));
new_key = g_slice_new(reassembled_key);
new_key->frame = pinfo->fd->num;
new_key->id = id;
g_hash_table_insert(reassembled_table, new_key, fd_head);