diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-11-11 22:39:25 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-11-11 22:39:25 +0000 |
commit | 14810dd30cdf982f464094229233439d493cad30 (patch) | |
tree | ba6af05a4642f3abfa26e4806c4abd51749c6d4f /epan/emem.c | |
parent | aca83662506bffa7a03a058a2f3bdf54cf563acd (diff) |
fix so that tcp.pdu.time works again.
it broken in one of the previous bugfixes to tcp
add a function to print an emem tree to the console for easier emem tree debugging
svn path=/trunk/; revision=19877
Diffstat (limited to 'epan/emem.c')
-rw-r--r-- | epan/emem.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/epan/emem.c b/epan/emem.c index e1a4615b87..90dbc64e8e 100644 --- a/epan/emem.c +++ b/epan/emem.c @@ -744,7 +744,6 @@ se_free_all(void) #endif /* DEBUG_USE_CANARIES */ #endif - /* move all used chunks over to the free list */ while(se_packet_mem.used_list){ npc=se_packet_mem.used_list; @@ -1501,3 +1500,25 @@ emem_tree_lookup_string(emem_tree_t* se_tree, const gchar* k) { return emem_tree_lookup32_array(se_tree, key); } + + +static void +emem_tree_print_nodes(emem_tree_node_t* node, int level) +{ + int i; + for(i=0;i<level;i++){ + printf(" "); + } + printf("NODE:%08x parent:%08x left:0x%08x right:%08x key:%d data:0x%08x\n",(int)node,(int)node->parent,(int)node->left,(int)node->right,node->key32,(int)node->data); + if(node->left) + emem_tree_print_nodes(node->left, level+1); + if(node->right) + emem_tree_print_nodes(node->right, level+1); +} +void +emem_print_tree(emem_tree_t* emem_tree) +{ + printf("EMEM tree type:%d name:%s tree:0x%08x\n",emem_tree->type,emem_tree->name,(int)emem_tree->tree); + if(emem_tree->tree) + emem_tree_print_nodes(emem_tree->tree, 0); +} |