summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Huus <eapache@gmail.com>2013-12-24 03:29:14 +0000
committerEvan Huus <eapache@gmail.com>2013-12-24 03:29:14 +0000
commit7151a4d99e615664158543d7caf8cadf7f82f069 (patch)
tree5e0b8c76b7f2293056a00516d1bdeb324ed65409
parent0ea5c80e1accdd471f86368d933e3776f00d0262 (diff)
downloadwireshark-7151a4d99e615664158543d7caf8cadf7f82f069.tar.gz
Replace all(?) remaining ep_stack occurences with wmem stacks.
svn path=/trunk/; revision=54435
-rw-r--r--epan/tpg.c10
-rw-r--r--epan/tpg.h7
-rw-r--r--epan/tvbparse.c21
3 files changed, 20 insertions, 18 deletions
diff --git a/epan/tpg.c b/epan/tpg.c
index 4c6f26858a..aad97e5f19 100644
--- a/epan/tpg.c
+++ b/epan/tpg.c
@@ -28,7 +28,7 @@
#include "config.h"
#include "tpg.h"
-#include <epan/emem.h>
+#include <epan/wmem/wmem.h>
#include <epan/packet.h>
extern guint32 tpg_ipv4(tvbparse_elem_t* e _U_) {
@@ -47,13 +47,13 @@ extern tpg_parser_data_t* tpg_start(proto_tree* root_tree,
int len,
tvbparse_wanted_t* ignore,
void* private_data) {
- tpg_parser_data_t* tpg = ep_alloc(sizeof(tpg_parser_data_t));
+ tpg_parser_data_t* tpg = wmem_new(wmem_packet_scope(), tpg_parser_data_t);
tpg->private_data = private_data;
tpg->tt = tvbparse_init(tvb,offset,len,tpg,ignore);
- tpg->stack = ep_stack_new();
- ep_stack_push(tpg->stack,root_tree);
-
+ tpg->stack = wmem_stack_new(wmem_packet_scope());
+ wmem_stack_push(tpg->stack, root_tree);
+
return tpg;
}
diff --git a/epan/tpg.h b/epan/tpg.h
index f71feef35f..fbe2a05ab6 100644
--- a/epan/tpg.h
+++ b/epan/tpg.h
@@ -32,10 +32,11 @@
#include <epan/proto.h>
#include <epan/tvbuff.h>
#include <epan/tvbparse.h>
+#include <epan/wmem/wmem.h>
#include "ws_symbol_export.h"
typedef struct _tpg_parser_data_t {
- ep_stack_t stack;
+ wmem_stack_t *stack;
tvbparse_t* tt;
void* private_data;
} tpg_parser_data_t;
@@ -67,8 +68,8 @@ WS_DLL_PUBLIC guint32 tpg_ipv4(tvbparse_elem_t*);
WS_DLL_PUBLIC guint8* tpg_ipv6(tvbparse_elem_t*);
#define TPG_IPV6(i) tpg_ipv6((i))
-#define TPG_PUSH(tpg,pi,ett) ep_stack_push(((tpg_parser_data_t*)(tpg))->stack,proto_item_add_subtree((pi),(ett)))
-#define TPG_POP(tpg) ep_stack_pop(((tpg_parser_data_t*)(tpg))->stack) ;
+#define TPG_PUSH(tpg,pi,ett) wmem_stack_push(((tpg_parser_data_t*)(tpg))->stack,proto_item_add_subtree((pi),(ett)))
+#define TPG_POP(tpg) wmem_stack_pop(((tpg_parser_data_t*)(tpg))->stack) ;
#define TPG_ADD_STRING(tpg, hfid, elem) proto_tree_add_item(ep_stack_peek(((tpg_parser_data_t*)tpg)->stack), hfid, (elem)->tvb, (elem)->offset, (elem)->len, FALSE)
#define TPG_ADD_BOOLEAN(tpg, hfid, elem) proto_tree_add_boolean(ep_stack_peek(((tpg_parser_data_t*)tpg)->stack), hfid, (elem)->tvb, (elem)->offset, (elem)->len, TRUE)
diff --git a/epan/tvbparse.c b/epan/tvbparse.c
index 64e8a38837..2084377130 100644
--- a/epan/tvbparse.c
+++ b/epan/tvbparse.c
@@ -30,6 +30,7 @@
#include <glib.h>
#include <epan/emem.h>
+#include <epan/wmem/wmem.h>
#include <epan/proto.h>
#include <epan/packet_info.h>
#include <epan/tvbparse.h>
@@ -1250,7 +1251,7 @@ guint tvbparse_curr_offset(tvbparse_t* tt) {
}
static void execute_callbacks(tvbparse_t* tt, tvbparse_elem_t* curr) {
- ep_stack_t stack = ep_stack_new();
+ wmem_stack_t *stack = wmem_stack_new(wmem_packet_scope());
while (curr) {
if(curr->wanted->before) {
@@ -1261,7 +1262,7 @@ static void execute_callbacks(tvbparse_t* tt, tvbparse_elem_t* curr) {
}
if(curr->sub) {
- ep_stack_push(stack,curr);
+ wmem_stack_push(stack, curr);
curr = curr->sub;
continue;
} else {
@@ -1273,8 +1274,8 @@ static void execute_callbacks(tvbparse_t* tt, tvbparse_elem_t* curr) {
curr = curr->next;
- while( !curr && ep_stack_peek(stack) ) {
- curr = (tvbparse_elem_t *)ep_stack_pop(stack);
+ while( !curr && wmem_stack_count(stack) > 0 ) {
+ curr = (tvbparse_elem_t *)wmem_stack_pop(stack);
#ifdef TVBPARSE_DEBUG
if (TVBPARSE_DEBUG & TVBPARSE_DEBUG_CB) g_warning("execute_callbacks: AFTER: id=%i offset=%i len=%i",curr->id,curr->offset,curr->len);
#endif
@@ -1391,8 +1392,8 @@ struct _elem_tree_stack_frame {
};
void tvbparse_tree_add_elem(proto_tree* tree, tvbparse_elem_t* curr) {
- ep_stack_t stack = ep_stack_new();
- struct _elem_tree_stack_frame* frame = (struct _elem_tree_stack_frame *)ep_alloc(sizeof(struct _elem_tree_stack_frame));
+ wmem_stack_t *stack = wmem_stack_new(wmem_packet_scope());
+ struct _elem_tree_stack_frame* frame = wmem_new(wmem_packet_scope(), struct _elem_tree_stack_frame);
proto_item* pi;
frame->tree = tree;
frame->elem = curr;
@@ -1402,8 +1403,8 @@ void tvbparse_tree_add_elem(proto_tree* tree, tvbparse_elem_t* curr) {
if(curr->sub) {
frame->elem = curr;
- ep_stack_push(stack,frame);
- frame = (struct _elem_tree_stack_frame *)ep_alloc(sizeof(struct _elem_tree_stack_frame));
+ wmem_stack_push(stack, frame);
+ frame = wmem_new(wmem_packet_scope(), struct _elem_tree_stack_frame);
frame->tree = proto_item_add_subtree(pi,0);
curr = curr->sub;
continue;
@@ -1411,8 +1412,8 @@ void tvbparse_tree_add_elem(proto_tree* tree, tvbparse_elem_t* curr) {
curr = curr->next;
- while( !curr && ep_stack_peek(stack) ) {
- frame = (struct _elem_tree_stack_frame *)ep_stack_pop(stack);
+ while( !curr && wmem_stack_count(stack) > 0 ) {
+ frame = (struct _elem_tree_stack_frame *)wmem_stack_pop(stack);
curr = frame->elem->next;
}