aboutsummaryrefslogtreecommitdiffstats
path: root/epan/emem.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-11-11 22:39:25 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-11-11 22:39:25 +0000
commit14810dd30cdf982f464094229233439d493cad30 (patch)
treeba6af05a4642f3abfa26e4806c4abd51749c6d4f /epan/emem.c
parentaca83662506bffa7a03a058a2f3bdf54cf563acd (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.c23
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);
+}