diff options
author | Luis Ontanon <luis.ontanon@gmail.com> | 2005-10-01 10:36:57 +0000 |
---|---|---|
committer | Luis Ontanon <luis.ontanon@gmail.com> | 2005-10-01 10:36:57 +0000 |
commit | 9860d26c68a0d54f376bab33c397306ad7c42fb3 (patch) | |
tree | e2f92215a02b310d3cd324f2255c1e82240c39b1 /epan/tpg.c | |
parent | 6f5e84b2d7c179e574bd413faea17b7f0f8d7240 (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.c | 27 |
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; -} |