aboutsummaryrefslogtreecommitdiffstats
path: root/epan/tpg.c
diff options
context:
space:
mode:
authorLuis Ontanon <luis.ontanon@gmail.com>2005-10-01 10:36:57 +0000
committerLuis Ontanon <luis.ontanon@gmail.com>2005-10-01 10:36:57 +0000
commit9860d26c68a0d54f376bab33c397306ad7c42fb3 (patch)
treee2f92215a02b310d3cd324f2255c1e82240c39b1 /epan/tpg.c
parent6f5e84b2d7c179e574bd413faea17b7f0f8d7240 (diff)
emem.[ch]:
Add a simple stack implememtation that uses ep_alloc Add ep_new() ep_new0() macros tpg.[ch]: use the stack in tpg helpers svn path=/trunk/; revision=16061
Diffstat (limited to 'epan/tpg.c')
-rw-r--r--epan/tpg.c27
1 files changed, 2 insertions, 25 deletions
diff --git a/epan/tpg.c b/epan/tpg.c
index 21ccf0e2c1..2813b795c0 100644
--- a/epan/tpg.c
+++ b/epan/tpg.c
@@ -52,32 +52,9 @@ extern tpg_parser_data_t* tpg_start(proto_tree* root_tree,
tpg->private_data = private_data;
tpg->tt = tvbparse_init(tvb,offset,len,tpg,NULL);
- tpg->stack = ep_alloc(sizeof(tpg_stack_frame_t));
- tpg->stack->tree = root_tree;
- tpg->stack->down = NULL;
+ tpg->stack = ep_stack_new();
+ ep_stack_push(tpg->stack,root_tree);
return tpg;
}
-
-extern void tpg_push(tpg_parser_data_t* tpg, proto_item* item, gint ett) {
- tpg_stack_frame_t* frame = ep_alloc(sizeof(tpg_stack_frame_t));
-
- frame->tree = proto_item_add_subtree(item,ett);
- frame->down = tpg->stack;
- tpg->stack = frame;
-
-}
-
-
-tpg_stack_frame_t* tpg_pop(tpg_parser_data_t* tpg) {
- tpg_stack_frame_t* frame = tpg->stack;
-
- if (tpg->stack->down) {
- tpg->stack = tpg->stack->down;
- } else {
- DISSECTOR_ASSERT( FALSE && "Error in the TPG infrastructure: trying to pop the end of the stack");
- }
-
- return frame;
-}