Added debug print of tree structure
authorBart Polot <bart@net.in.tum.de>
Wed, 21 Sep 2011 20:50:20 +0000 (20:50 +0000)
committerBart Polot <bart@net.in.tum.de>
Wed, 21 Sep 2011 20:50:20 +0000 (20:50 +0000)
src/mesh/mesh_tunnel_tree.c
src/mesh/mesh_tunnel_tree.h
src/mesh/test_mesh_path_api.c

index 929b1b69bb0159b1e774a0dd0a1a4b1d51ef652b..74778909693fab0981119ab06247c5de126cec21 100644 (file)
 #include "mesh_tunnel_tree.h"
 
 
+static void
+debug_node(struct MeshTunnelTreeNode *n, uint16_t level)
+{
+  uint16_t i;
+
+  for (i = 0; i < level; i++)
+    fprintf(stderr, " ");
+  fprintf(stderr, "%u\n", n->peer);
+  for (i = 0; i < n->nchildren; i++)
+    debug_node(&n->children[i], level + 1);
+}
+
+
+
+void
+tree_debug(struct MeshTunnelTree *t)
+{
+  debug_node(t->root, 0);
+}
+
+
+
 /**
  * Invert the path
  *
index 401ebb089afb86612726cf6c162efefe210bfae1..6573a85bdc53f4baade02a376c3f006c1487f055 100644 (file)
@@ -271,4 +271,8 @@ tree_node_destroy (struct MeshTunnelTreeNode *n);
  * @param t Tree to be destroyed
  */
 void
-tree_destroy (struct MeshTunnelTree *t);
\ No newline at end of file
+tree_destroy (struct MeshTunnelTree *t);
+
+
+void
+tree_debug(struct MeshTunnelTree *t);
\ No newline at end of file
index 36eace93d7229d40d6cc65161858a168bd40577c..3d6a06857ceb756374efce30fa0f9b04bcc17dcf 100644 (file)
@@ -233,15 +233,16 @@ main (int argc, char *argv[])
     GNUNET_log(GNUNET_ERROR_TYPE_WARNING, "Retrieved peer wrong nchildren!\n");
     failed++;
   }
-  path->length++;
-  path_destroy(path);
-  finish();
 
   GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "test: Adding third path...\n");
   path->length++;
   path->peers[3] = 4;
   tree_add_path(tree, path, &cb);
 
+  path_destroy(path);
+  tree_debug(tree);
+  finish();
+
   node = tree_find_peer(tree->root, 2);
   if (node->peer != 2)
   {