/* Look up an fd_head in the fragment table, optionally returning the key for it.  */
static fragment_head* lookup_fd_head(reassembly_table *table, const packet_info *pinfo, const guint32 id, const void *data, gpointer *orig_keyp)
/* Look up an fd_head in the fragment table, optionally returning the key for it.  */
static fragment_head* lookup_fd_head(reassembly_table *table, const packet_info *pinfo, const guint32 id, const void *data, gpointer *orig_keyp)
{
	gpointer key;
	gpointer value;
	key = table->temporary_key_func(pinfo, id, data);
	if (!g_hash_table_lookup_extended(table->fragment_table, key, orig_keyp,
					  &value))
		value = NULL;
	table->free_temporary_key_func(key);
	return (fragment_head *)value;
}