diff --git a/source3/include/adt_tree.h b/source3/include/adt_tree.h index c2a869b0f27..7e43fa60f6a 100644 --- a/source3/include/adt_tree.h +++ b/source3/include/adt_tree.h @@ -32,7 +32,7 @@ struct sorted_tree *pathtree_init(void *data_p); /* add a new path component */ -WERROR pathtree_add(struct sorted_tree *tree, const char *path, void *data_p ); +bool pathtree_add(struct sorted_tree *tree, const char *path, void *data_p ); /* search path */ diff --git a/source3/lib/adt_tree.c b/source3/lib/adt_tree.c index de7f2d26372..a225796fc78 100644 --- a/source3/lib/adt_tree.c +++ b/source3/lib/adt_tree.c @@ -206,11 +206,11 @@ static struct tree_node *pathtree_find_child(struct tree_node *node, Add a new node into the tree given a key path and a blob of data *************************************************************************/ -WERROR pathtree_add(struct sorted_tree *tree, const char *path, void *data_p) +bool pathtree_add(struct sorted_tree *tree, const char *path, void *data_p) { char *str, *base, *path2; struct tree_node *current, *next; - WERROR ret = WERR_OK; + bool ret = true; DEBUG(8,("pathtree_add: Enter\n")); @@ -259,7 +259,7 @@ WERROR pathtree_add(struct sorted_tree *tree, const char *path, void *data_p) next = pathtree_birth_child( current, base ); if ( !next ) { DEBUG(0,("pathtree_add: Failed to create new child!\n")); - ret = WERR_NOMEM; + ret = false; goto done; } } diff --git a/source3/registry/reg_cachehook.c b/source3/registry/reg_cachehook.c index dc07b51944e..1f269276aab 100644 --- a/source3/registry/reg_cachehook.c +++ b/source3/registry/reg_cachehook.c @@ -93,7 +93,10 @@ WERROR reghook_cache_add(const char *keyname, struct registry_ops *ops) DEBUG(10, ("reghook_cache_add: Adding ops %p for key [%s]\n", (void *)ops, key)); - werr = pathtree_add(cache_tree, key, ops); + if (!pathtree_add(cache_tree, key, ops)) + werr = WERR_NOMEM; + else + werr = WERR_OK; done: TALLOC_FREE(key);