void (*freeNode)(void *),
int flags);
void rbtree_free(rbtree_t *tree);
-int rbtree_insert(rbtree_t *tree, void *Data);
+bool rbtree_insert(rbtree_t *tree, void *Data);
rbnode_t *rbtree_insertnode(rbtree_t *tree, void *Data);
void rbtree_delete(rbtree_t *tree, rbnode_t *Z);
-int rbtree_deletebydata(rbtree_t *tree, void const *data);
+bool rbtree_deletebydata(rbtree_t *tree, void const *data);
rbnode_t *rbtree_find(rbtree_t *tree, void const *Data);
void *rbtree_finddata(rbtree_t *tree, void const *Data);
int rbtree_num_elements(rbtree_t *tree);
return X;
}
-int rbtree_insert(rbtree_t *tree, void *Data)
+bool rbtree_insert(rbtree_t *tree, void *Data)
{
- if (rbtree_insertnode(tree, Data)) return 1;
- return 0;
+ if (rbtree_insertnode(tree, Data)) return true;
+ return false;
}
static void DeleteFixup(rbtree_t *tree, rbnode_t *X, rbnode_t *Parent)
* Delete a node from the tree, based on given data, which MUST
* have come from rbtree_finddata().
*/
-int rbtree_deletebydata(rbtree_t *tree, void const *data)
+bool rbtree_deletebydata(rbtree_t *tree, void const *data)
{
rbnode_t *node = rbtree_find(tree, data);
- if (!node) return 0; /* false */
+ if (!node) return false;
rbtree_delete(tree, node);
- return 1;
+ return true;
}