gchar *r;
r = g_tree_lookup_related (tree, &chars[i],
- G_TREE_SEARCH_SUCCESSOR, 0);
+ G_TREE_SEARCH_SUCCESSOR);
g_assert((i == n-1 && r == NULL) || (r && *r == chars[i+1]));
g_tree_insert (tree, &chars[i], &chars[i]);
r = g_tree_lookup_related (tree, &chars[i],
- G_TREE_SEARCH_PREDECESSOR, 0);
+ G_TREE_SEARCH_PREDECESSOR);
g_assert(r && *r == chars[i]);
r = g_tree_lookup_related (tree, &chars[i],
- G_TREE_SEARCH_SUCCESSOR, 0);
+ G_TREE_SEARCH_SUCCESSOR);
g_assert(r && *r == chars[i]);
}
g_assert(n == g_tree_nnodes(tree));
gchar *r;
gint j;
- r = g_tree_lookup_related (tree, &chars[i],
- G_TREE_SEARCH_PREDECESSOR, i);
+ r = g_tree_lookup_related_v (tree, i, &chars[i],
+ G_TREE_SEARCH_PREDECESSOR);
g_assert((i == 0 && r == NULL) || (r && *r == chars[i-1]));
if (i > 0)
{
- r = g_tree_lookup_related (tree, &chars[i],
- G_TREE_SEARCH_PREDECESSOR, i-1);
+ r = g_tree_lookup_related_v (tree, i-1, &chars[i],
+ G_TREE_SEARCH_PREDECESSOR);
g_assert((i == 1 && r == NULL) || (r && *r == chars[i-2]));
}
g_tree_next_version (tree);
g_tree_insert (tree, &chars[i], &chars[i]);
- r = g_tree_lookup_related (tree, &chars[i],
- G_TREE_SEARCH_PREDECESSOR, i+1);
+ r = g_tree_lookup_related_v (tree, i+1, &chars[i],
+ G_TREE_SEARCH_PREDECESSOR);
g_assert(r && *r == chars[i]);
- r = g_tree_lookup_related (tree, &chars[i],
- G_TREE_SEARCH_SUCCESSOR, i+1);
+ r = g_tree_lookup_related_v (tree, i+1, &chars[i],
+ G_TREE_SEARCH_SUCCESSOR);
g_assert(r && *r == chars[i]);
for (j = 0; j <= i+1; ++j)
{
- r = g_tree_lookup_related (tree, &chars[i],
- G_TREE_SEARCH_PREDECESSOR, j);
+ r = g_tree_lookup_related_v (tree, j, &chars[i],
+ G_TREE_SEARCH_PREDECESSOR);
g_assert((j == 0 && r == NULL) || (r && *r == chars[j-1]));
}
+
+ traverse_num = 0;
+ g_tree_foreach_v (tree, i+1, my_traverse, NULL);
+ g_assert(traverse_num == i+1);
}
g_assert(i == g_tree_nnodes(tree));
for (j = 0; chars[j]; ++j)
{
- r = g_tree_lookup_related (tree, &chars[j],
- G_TREE_SEARCH_PREDECESSOR, i);
+ r = g_tree_lookup_related_v (tree, i, &chars[j],
+ G_TREE_SEARCH_PREDECESSOR);
if (i == 0) /* the tree was empty */
g_assert (r == NULL);
for (j = 0; chars[j]; j++)
{
- r = g_tree_lookup_related (tree, &chars[j],
- G_TREE_SEARCH_PREDECESSOR, i);
+ r = g_tree_lookup_related_v (tree, i, &chars[j],
+ G_TREE_SEARCH_PREDECESSOR);
g_assert (r && *r == chars[MIN(j,i)]);
}
}
for (j = 0; chars[j]; j++)
{
- r = g_tree_lookup_related (tree, &chars[j],
- G_TREE_SEARCH_PREDECESSOR, k);
+ r = g_tree_lookup_related_v (tree, k, &chars[j],
+ G_TREE_SEARCH_PREDECESSOR);
g_assert ((k <= i/2*2 && r == NULL) ||
(k > i/2*2 && r && *r == chars[MIN(j,k)]));
}
for (j = 0; chars[j]; j++)
{
- r = g_tree_lookup_related (tree, &chars[j],
- G_TREE_SEARCH_PREDECESSOR, i);
+ r = g_tree_lookup_related_v (tree, i, &chars[j],
+ G_TREE_SEARCH_PREDECESSOR);
g_assert (r == NULL);
}
}