# HG changeset patch # User Mike Becker # Date 1728132134 -7200 # Node ID f49f8a7060aa4c5d8fd1df1d31310cbfc1d0f9f5 # Parent 1f72fb9af87eaccea248cfdd37530832ad28e8d4 rename cxTreeRemove() to cxTreeRemoveSubtree() relates to #437 diff -r 1f72fb9af87e -r f49f8a7060aa src/cx/tree.h --- a/src/cx/tree.h Sat Oct 05 14:22:42 2024 +0200 +++ b/src/cx/tree.h Sat Oct 05 14:42:14 2024 +0200 @@ -1207,7 +1207,7 @@ * @param node the node to remove */ __attribute__((__nonnull__)) -void cxTreeRemove(CxTree *tree, void *node); +void cxTreeRemoveSubtree(CxTree *tree, void *node); #ifdef __cplusplus } // extern "C" diff -r 1f72fb9af87e -r f49f8a7060aa src/tree.c --- a/src/tree.c Sat Oct 05 14:22:42 2024 +0200 +++ b/src/tree.c Sat Oct 05 14:42:14 2024 +0200 @@ -900,7 +900,15 @@ return visitor.depth; } -void cxTreeRemove(CxTree *tree, void *node) { +int cxTreeRemove(CxTree *tree, void *node) { + if (node == tree->root) return 1; + + + + return 0; +} + +void cxTreeRemoveSubtree(CxTree *tree, void *node) { if (node == tree->root) { tree->root = NULL; tree->size = 0; diff -r 1f72fb9af87e -r f49f8a7060aa tests/test_tree.c --- a/tests/test_tree.c Sat Oct 05 14:22:42 2024 +0200 +++ b/tests/test_tree.c Sat Oct 05 14:42:14 2024 +0200 @@ -1768,7 +1768,7 @@ cxTreeAddChildNode(tree, cxTreeFind(tree, "/usr/"), share); CX_TEST_ASSERT(tree->size == 8); - cxTreeRemove(tree, foo); + cxTreeRemoveSubtree(tree, foo); CX_TEST_ASSERT(NULL == cxTreeFind(tree, "/home/foo/")); CX_TEST_ASSERT(NULL == cxTreeFind(tree, "/home/foo/bar/")); CX_TEST_ASSERT(NULL == cxTreeFind(tree, "/home/bar/")); @@ -1811,7 +1811,7 @@ }; cxTreeInsertArray(tree, paths, sizeof(const char*), 6); void *root = tree->root; - cxTreeRemove(tree, root); + cxTreeRemoveSubtree(tree, root); CX_TEST_ASSERT(tree->size == 0); CX_TEST_ASSERT(tree->root == NULL); CX_TEST_ASSERT(cxTreeDepth(tree) == 0);