示例#1
0
static void
_gtk_rbtree_debug_spew_helper (GtkRBTree *tree,
			       GtkRBNode *node,
			       gint       depth)
{
  gint i;
  for (i = 0; i < depth; i++)
    g_print ("\t");

  g_print ("(%p - %s) (Offset %d) (Parity %d) (Validity %d%d%d)\n",
	   node,
	   (GTK_RBNODE_GET_COLOR (node) == GTK_RBNODE_BLACK)?"BLACK":" RED ",
	   node->offset,
	   node->total_count,
	   (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_DESCENDANTS_INVALID))?1:0,
	   (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID))?1:0,
	   (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID))?1:0);
  if (node->children != NULL)
    {
      g_print ("Looking at child.\n");
      _gtk_rbtree_debug_spew (node->children);
      g_print ("Done looking at child.\n");
    }
  if (!_gtk_rbtree_is_nil (node->left))
    {
      _gtk_rbtree_debug_spew_helper (tree, node->left, depth+1);
    }
  if (!_gtk_rbtree_is_nil (node->right))
    {
      _gtk_rbtree_debug_spew_helper (tree, node->right, depth+1);
    }
}
示例#2
0
static void
_gtk_rbtree_debug_spew (GtkRBTree *tree)
{
  g_return_if_fail (tree != NULL);

  if (_gtk_rbtree_is_nil (tree->root))
    g_print ("Empty tree...\n");
  else
    _gtk_rbtree_debug_spew_helper (tree, tree->root, 0);
}
示例#3
0
文件: gtkrbtree.c 项目: sam-m888/gtk
static void
_gtk_rbtree_debug_spew (GtkRBTree *tree, GString *s)
{
  g_return_if_fail (tree != NULL);

  if (_gtk_rbtree_is_nil (tree->root))
    g_string_append (s, "Empty tree...");
  else
    _gtk_rbtree_debug_spew_helper (tree, tree->root, s, 0);
}