#endif
#ifdef TREE_GLOBAL
-# define STATIC
+# define TREE_STATIC
#else
-# define STATIC static
+# define TREE_STATIC static
#endif
#ifndef TREE_MAX_DEPTH
/* Now the operations */
-STATIC void P(init) (T *t)
+TREE_STATIC void P(init) (T *t)
{
t->count = t->height = 0;
t->root = NULL;
t->count--;
}
-STATIC void P(cleanup) (T *t)
+TREE_STATIC void P(cleanup) (T *t)
{
P(cleanup_subtree) (t, t->root);
ASSERT(!t->count);
}
#ifdef TREE_WANT_FIND
-STATIC P(node) * P(find) (T *t, TREE_KEY_DECL)
+TREE_STATIC P(node) * P(find) (T *t, TREE_KEY_DECL)
{
P(stack_entry) stack[TREE_MAX_DEPTH];
uint depth;
#endif
#ifdef TREE_WANT_SEARCH_DOWN
-STATIC P(node) * P(search_down) (T *t, TREE_KEY_DECL)
+TREE_STATIC P(node) * P(search_down) (T *t, TREE_KEY_DECL)
{
P(node) *last_right=NULL;
P(bucket) *node=t->root;
#endif
#ifdef TREE_WANT_BOUNDARY
-STATIC P(node) * P(boundary) (T *t, uint direction)
+TREE_STATIC P(node) * P(boundary) (T *t, uint direction)
{
P(bucket) *n = t->root, *ns;
if (!n)
#endif
#ifdef TREE_STORE_PARENT
-STATIC P(node) * P(adjacent) (P(node) *start, uint direction)
+TREE_STATIC P(node) * P(adjacent) (P(node) *start, uint direction)
{
P(bucket) *node = SKIP_BACK(P(bucket), n, start);
P(bucket) *next = P(tree_son) (node, direction);
#endif
#ifdef TREE_WANT_FIND_NEXT
-STATIC P(node) * P(find_next) (P(node) *start)
+TREE_STATIC P(node) * P(find_next) (P(node) *start)
{
P(node) *next = P(adjacent) (start, 1);
if (next && P(cmp) (TREE_KEY(start->), TREE_KEY(next->)) == 0)
#endif
#ifdef TREE_WANT_SEARCH
-STATIC P(node) * P(search) (T *t, TREE_KEY_DECL)
+TREE_STATIC P(node) * P(search) (T *t, TREE_KEY_DECL)
{
P(stack_entry) stack[TREE_MAX_DEPTH];
uint depth;
}
#ifdef TREE_WANT_NEW
-STATIC P(node) * P(new) (T *t, TREE_KEY_DECL)
+TREE_STATIC P(node) * P(new) (T *t, TREE_KEY_DECL)
{
P(stack_entry) stack[TREE_MAX_DEPTH];
P(bucket) *added;
#endif
#ifdef TREE_WANT_LOOKUP
-STATIC P(node) * P(lookup) (T *t, TREE_KEY_DECL)
+TREE_STATIC P(node) * P(lookup) (T *t, TREE_KEY_DECL)
{
P(node) *node;
node = P(find) (t, TREE_KEY());
#endif
#ifdef TREE_WANT_REMOVE
-STATIC void P(remove) (T *t, P(node) *Node)
+TREE_STATIC void P(remove) (T *t, P(node) *Node)
{
P(stack_entry) stack[TREE_MAX_DEPTH];
P(bucket) *node = SKIP_BACK(P(bucket), n, Node);
#endif
#ifdef TREE_WANT_DELETE
-STATIC int P(delete) (T *t, TREE_KEY_DECL)
+TREE_STATIC int P(delete) (T *t, TREE_KEY_DECL)
{
P(stack_entry) stack[TREE_MAX_DEPTH];
uint depth;
P(dump_subtree) (fb, t, P(tree_son) (node, 1), node, +1, level+1, black + (1-flag));
}
-STATIC void P(dump) (struct fastbuf *fb, T *t)
+TREE_STATIC void P(dump) (struct fastbuf *fb, T *t)
{
if (fb)
{
#undef TREE_EXTRA_SIZE
#undef TREE_SAFE_FREE
#undef TREE_TRACE
-#undef STATIC