#include <glib.h>
#include <epan/packet.h>
-#include <epan/emem.h>
#include <epan/reassemble.h>
#include <epan/stream.h>
#include <epan/tvbuff.h>
const stream_key_t *key = (const stream_key_t *)k;
/* is_circuit is redundant to the circuit/conversation pointer */
- return ((guint)(unsigned long)key->circ.circuit) ^ key->p2p_dir;
+ return (GPOINTER_TO_UINT(key->circ.circuit)) ^ key->p2p_dir;
}
/* compare func */
{
stream_t *val;
- val = se_new(stream_t);
+ val = wmem_new(wmem_file_scope(), stream_t);
val -> key = key;
val -> pdu_counter = 0;
val -> current_pdu = NULL;
{
stream_key_t *key;
- key = se_new(stream_key_t);
+ key = wmem_new(wmem_file_scope(), stream_key_t);
key->is_circuit = TRUE;
key->circ.circuit = circuit;
key->p2p_dir = p2p_dir;
{
stream_key_t *key;
- key = se_new(stream_key_t);
+ key = wmem_new(wmem_file_scope(), stream_key_t);
key->is_circuit = FALSE;
key->circ.conv = conv;
key->p2p_dir = p2p_dir;
static stream_pdu_t *stream_new_pdu(stream_t *stream)
{
stream_pdu_t *pdu;
- pdu = se_new(stream_pdu_t);
+ pdu = wmem_new(wmem_file_scope(), stream_pdu_t);
pdu -> fd_head = NULL;
pdu -> pdu_number = stream -> pdu_counter++;
pdu -> id = pdu_counter++;
static guint fragment_hash_func(gconstpointer k)
{
const fragment_key_t *key = (const fragment_key_t *)k;
- return ((guint)(unsigned long)key->stream) + ((guint)key -> framenum) + ((guint)key->offset);
+ return (GPOINTER_TO_UINT(key->stream)) + ((guint)key -> framenum) + ((guint)key->offset);
}
/* compare func */
fragment_key_t *key;
stream_pdu_fragment_t *val;
- key = se_new(fragment_key_t);
+ key = wmem_new(wmem_file_scope(), fragment_key_t);
key->stream = stream;
key->framenum = framenum;
key->offset = offset;
- val = se_new(stream_pdu_fragment_t);
+ val = wmem_new(wmem_file_scope(), stream_pdu_fragment_t);
val->len = length;
val->pdu = NULL;
val->final_fragment = FALSE;
/* cleanup the stream routines */
/* Note: stream_cleanup must only be called when seasonal memory
* is also freed since the hash tables countain pointers to
- * se_alloc'd memory.
+ * wmem_file_scoped memory.
*/
void stream_cleanup( void )
{
cleanup_stream_hash();
cleanup_fragment_hash();
stream_cleanup_pdu_data();
+ reassembly_table_destroy(&stream_reassembly_table);
}
/* initialise the stream routines */
DISSECTOR_ASSERT( frag );
return frag->pdu->pdu_number;
}
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */