summaryrefslogtreecommitdiff
path: root/source3/lib/adt_tree.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-02-23 16:36:44 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:55:43 -0500
commit96a3fede405cd095e353398ff05f4b43a07c457d (patch)
tree2c0e52f9883949091c8af092307e154cb58f4bf2 /source3/lib/adt_tree.c
parent34a5c5a580102afe1503da911d6e3b61191bb325 (diff)
downloadsamba-96a3fede405cd095e353398ff05f4b43a07c457d.tar.gz
samba-96a3fede405cd095e353398ff05f4b43a07c457d.tar.bz2
samba-96a3fede405cd095e353398ff05f4b43a07c457d.zip
r5517: code cleanup; rename the sorted_tree to pathtree (used by registry code)
I was going to use this for tracking dfs mounts in smbclient but found another way. Still the cleanup is valid so commiting it. should be minimally disruptive since it is not widely used. (This used to be commit 00738dca3b07083c91545910486a1f30f2b17281)
Diffstat (limited to 'source3/lib/adt_tree.c')
-rw-r--r--source3/lib/adt_tree.c79
1 files changed, 40 insertions, 39 deletions
diff --git a/source3/lib/adt_tree.c b/source3/lib/adt_tree.c
index a5d6380377..ad763c2be1 100644
--- a/source3/lib/adt_tree.c
+++ b/source3/lib/adt_tree.c
@@ -19,6 +19,7 @@
*/
#include "includes.h"
+#include "adt_tree.h"
/**************************************************************************
@@ -53,7 +54,7 @@ static BOOL trim_tree_keypath( char *path, char **base, char **new_path )
for comparision of two children
*************************************************************************/
-SORTED_TREE* sorted_tree_init( void *data_p,
+ SORTED_TREE* pathtree_init( void *data_p,
int (cmp_fn)(void*, void*),
void (free_fn)(void*) )
{
@@ -83,7 +84,7 @@ SORTED_TREE* sorted_tree_init( void *data_p,
Delete a tree and free all allocated memory
*************************************************************************/
-static void sorted_tree_destroy_children( TREE_NODE *root )
+static void pathtree_destroy_children( TREE_NODE *root )
{
int i;
@@ -92,7 +93,7 @@ static void sorted_tree_destroy_children( TREE_NODE *root )
for ( i=0; i<root->num_children; i++ )
{
- sorted_tree_destroy_children( root->children[i] );
+ pathtree_destroy_children( root->children[i] );
}
SAFE_FREE( root->children );
@@ -105,10 +106,10 @@ static void sorted_tree_destroy_children( TREE_NODE *root )
Delete a tree and free all allocated memory
*************************************************************************/
-void sorted_tree_destroy( SORTED_TREE *tree )
+ void pathtree_destroy( SORTED_TREE *tree )
{
if ( tree->root )
- sorted_tree_destroy_children( tree->root );
+ pathtree_destroy_children( tree->root );
if ( tree->free_func )
tree->free_func( tree->root );
@@ -120,7 +121,7 @@ void sorted_tree_destroy( SORTED_TREE *tree )
Find the next child given a key string
*************************************************************************/
-static TREE_NODE* sorted_tree_birth_child( TREE_NODE *node, char* key )
+static TREE_NODE* pathtree_birth_child( TREE_NODE *node, char* key )
{
TREE_NODE *infant = NULL;
TREE_NODE **siblings;
@@ -144,7 +145,7 @@ static TREE_NODE* sorted_tree_birth_child( TREE_NODE *node, char* key )
/* first child */
if ( node->num_children == 1 ) {
- DEBUG(11,("sorted_tree_birth_child: First child of node [%s]! [%s]\n",
+ DEBUG(11,("pathtree_birth_child: First child of node [%s]! [%s]\n",
node->key ? node->key : "NULL", infant->key ));
node->children[0] = infant;
}
@@ -161,14 +162,14 @@ static TREE_NODE* sorted_tree_birth_child( TREE_NODE *node, char* key )
for ( i = node->num_children-1; i>=1; i-- )
{
- DEBUG(11,("sorted_tree_birth_child: Looking for crib; infant -> [%s], child -> [%s]\n",
+ DEBUG(11,("pathtree_birth_child: Looking for crib; infant -> [%s], child -> [%s]\n",
infant->key, node->children[i-1]->key));
/* the strings should never match assuming that we
- have called sorted_tree_find_child() first */
+ have called pathtree_find_child() first */
if ( StrCaseCmp( infant->key, node->children[i-1]->key ) > 0 ) {
- DEBUG(11,("sorted_tree_birth_child: storing infant in i == [%d]\n",
+ DEBUG(11,("pathtree_birth_child: storing infant in i == [%d]\n",
i));
node->children[i] = infant;
break;
@@ -179,7 +180,7 @@ static TREE_NODE* sorted_tree_birth_child( TREE_NODE *node, char* key )
node->children[i] = node->children[i-1];
}
- DEBUG(11,("sorted_tree_birth_child: Exiting loop (i == [%d])\n", i ));
+ DEBUG(11,("pathtree_birth_child: Exiting loop (i == [%d])\n", i ));
/* if we haven't found the correct slot yet, the child
will be first in the list */
@@ -195,24 +196,24 @@ static TREE_NODE* sorted_tree_birth_child( TREE_NODE *node, char* key )
Find the next child given a key string
*************************************************************************/
-static TREE_NODE* sorted_tree_find_child( TREE_NODE *node, char* key )
+static TREE_NODE* pathtree_find_child( TREE_NODE *node, char* key )
{
TREE_NODE *next = NULL;
int i, result;
if ( !node ) {
- DEBUG(0,("sorted_tree_find_child: NULL node passed into function!\n"));
+ DEBUG(0,("pathtree_find_child: NULL node passed into function!\n"));
return NULL;
}
if ( !key ) {
- DEBUG(0,("sorted_tree_find_child: NULL key string passed into function!\n"));
+ DEBUG(0,("pathtree_find_child: NULL key string passed into function!\n"));
return NULL;
}
for ( i=0; i<node->num_children; i++ )
{
- DEBUG(11,("sorted_tree_find_child: child key => [%s]\n",
+ DEBUG(11,("pathtree_find_child: child key => [%s]\n",
node->children[i]->key));
result = StrCaseCmp( node->children[i]->key, key );
@@ -228,7 +229,7 @@ static TREE_NODE* sorted_tree_find_child( TREE_NODE *node, char* key )
break;
}
- DEBUG(11,("sorted_tree_find_child: %s [%s]\n",
+ DEBUG(11,("pathtree_find_child: %s [%s]\n",
next ? "Found" : "Did not find", key ));
return next;
@@ -238,22 +239,22 @@ static TREE_NODE* sorted_tree_find_child( TREE_NODE *node, char* key )
Add a new node into the tree given a key path and a blob of data
*************************************************************************/
-BOOL sorted_tree_add( SORTED_TREE *tree, const char *path, void *data_p )
+ BOOL pathtree_add( SORTED_TREE *tree, const char *path, void *data_p )
{
char *str, *base, *path2;
TREE_NODE *current, *next;
BOOL ret = True;
- DEBUG(8,("sorted_tree_add: Enter\n"));
+ DEBUG(8,("pathtree_add: Enter\n"));
if ( !path || *path != '/' ) {
- DEBUG(0,("sorted_tree_add: Attempt to add a node with a bad path [%s]\n",
+ DEBUG(0,("pathtree_add: Attempt to add a node with a bad path [%s]\n",
path ? path : "NULL" ));
return False;
}
if ( !tree ) {
- DEBUG(0,("sorted_tree_add: Attempt to add a node to an uninitialized tree!\n"));
+ DEBUG(0,("pathtree_add: Attempt to add a node to an uninitialized tree!\n"));
return False;
}
@@ -262,7 +263,7 @@ BOOL sorted_tree_add( SORTED_TREE *tree, const char *path, void *data_p )
path++;
path2 = SMB_STRDUP( path );
if ( !path2 ) {
- DEBUG(0,("sorted_tree_add: strdup() failed on string [%s]!?!?!\n", path));
+ DEBUG(0,("pathtree_add: strdup() failed on string [%s]!?!?!\n", path));
return False;
}
@@ -286,11 +287,11 @@ BOOL sorted_tree_add( SORTED_TREE *tree, const char *path, void *data_p )
/* iterate to the next child--birth it if necessary */
- next = sorted_tree_find_child( current, base );
+ next = pathtree_find_child( current, base );
if ( !next ) {
- next = sorted_tree_birth_child( current, base );
+ next = pathtree_birth_child( current, base );
if ( !next ) {
- DEBUG(0,("sorted_tree_add: Failed to create new child!\n"));
+ DEBUG(0,("pathtree_add: Failed to create new child!\n"));
ret = False;
goto done;
}
@@ -310,10 +311,10 @@ BOOL sorted_tree_add( SORTED_TREE *tree, const char *path, void *data_p )
current->data_p = data_p;
- DEBUG(10,("sorted_tree_add: Successfully added node [%s] to tree\n",
+ DEBUG(10,("pathtree_add: Successfully added node [%s] to tree\n",
path ));
- DEBUG(8,("sorted_tree_add: Exit\n"));
+ DEBUG(8,("pathtree_add: Exit\n"));
done:
SAFE_FREE( path2 );
@@ -325,7 +326,7 @@ done:
Recursive routine to print out all children of a TREE_NODE
*************************************************************************/
-static void sorted_tree_print_children( TREE_NODE *node, int debug, const char *path )
+static void pathtree_print_children( TREE_NODE *node, int debug, const char *path )
{
int i;
int num_children;
@@ -347,7 +348,7 @@ static void sorted_tree_print_children( TREE_NODE *node, int debug, const char *
num_children = node->num_children;
for ( i=0; i<num_children; i++ )
- sorted_tree_print_children( node->children[i], debug, path2 );
+ pathtree_print_children( node->children[i], debug, path2 );
}
@@ -356,7 +357,7 @@ static void sorted_tree_print_children( TREE_NODE *node, int debug, const char *
Dump the kys for a tree to the log file
*************************************************************************/
-void sorted_tree_print_keys( SORTED_TREE *tree, int debug )
+ void pathtree_print_keys( SORTED_TREE *tree, int debug )
{
int i;
int num_children = tree->root->num_children;
@@ -366,7 +367,7 @@ void sorted_tree_print_keys( SORTED_TREE *tree, int debug )
tree->root->data_p ? "data" : "NULL" ));
for ( i=0; i<num_children; i++ ) {
- sorted_tree_print_children( tree->root->children[i], debug,
+ pathtree_print_children( tree->root->children[i], debug,
tree->root->key ? tree->root->key : "ROOT/" );
}
@@ -378,23 +379,23 @@ void sorted_tree_print_keys( SORTED_TREE *tree, int debug )
the tree
*************************************************************************/
-void* sorted_tree_find( SORTED_TREE *tree, char *key )
+ void* pathtree_find( SORTED_TREE *tree, char *key )
{
char *keystr, *base, *str, *p;
TREE_NODE *current;
void *result = NULL;
- DEBUG(10,("sorted_tree_find: Enter [%s]\n", key ? key : "NULL" ));
+ DEBUG(10,("pathtree_find: Enter [%s]\n", key ? key : "NULL" ));
/* sanity checks first */
if ( !key ) {
- DEBUG(0,("sorted_tree_find: Attempt to search tree using NULL search string!\n"));
+ DEBUG(0,("pathtree_find: Attempt to search tree using NULL search string!\n"));
return NULL;
}
if ( !tree ) {
- DEBUG(0,("sorted_tree_find: Attempt to search an uninitialized tree using string [%s]!\n",
+ DEBUG(0,("pathtree_find: Attempt to search an uninitialized tree using string [%s]!\n",
key ? key : "NULL" ));
return NULL;
}
@@ -410,7 +411,7 @@ void* sorted_tree_find( SORTED_TREE *tree, char *key )
keystr = SMB_STRDUP( key );
if ( !keystr ) {
- DEBUG(0,("sorted_tree_find: strdup() failed on string [%s]!?!?!\n", key));
+ DEBUG(0,("pathtree_find: strdup() failed on string [%s]!?!?!\n", key));
return NULL;
}
@@ -428,12 +429,12 @@ void* sorted_tree_find( SORTED_TREE *tree, char *key )
trim_tree_keypath( p, &base, &str );
- DEBUG(11,("sorted_tree_find: [loop] base => [%s], new_path => [%s]\n",
+ DEBUG(11,("pathtree_find: [loop] base => [%s], new_path => [%s]\n",
base, str));
/* iterate to the next child */
- current = sorted_tree_find_child( current, base );
+ current = pathtree_find_child( current, base );
/*
* the idea is that the data_p for a parent should
@@ -452,11 +453,11 @@ void* sorted_tree_find( SORTED_TREE *tree, char *key )
/* result should be the data_p from the lowest match node in the tree */
if ( result )
- DEBUG(11,("sorted_tree_find: Found data_p!\n"));
+ DEBUG(11,("pathtree_find: Found data_p!\n"));
SAFE_FREE( keystr );
- DEBUG(10,("sorted_tree_find: Exit\n"));
+ DEBUG(10,("pathtree_find: Exit\n"));
return result;
}