diff options
-rw-r--r-- | MAINTAINERS | 26 | ||||
-rw-r--r-- | source3/include/adt_tree.h | 11 | ||||
-rw-r--r-- | source3/lib/adt_tree.c | 61 |
3 files changed, 38 insertions, 60 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 5988325408..99993346a6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1,5 +1,29 @@ ## ## List of current Samba Maintainers ## -docs jht@samba.org +This file contains a list of developers responsible for +portions of the Samba 3.0 code. It also lists developers +responsible for 3rd party projects that work with Samba +(e.g. vfs modules). + +Note that this list is for you benefit, but please do not +abuse it by constantly emailing a stream of help questions +to the maintainers. Some are more open to direct +communication than others and some struggle with enormous +amounts of email every day. + +All bug reports for code that is maintained *within* the +Samba subversion tree should be filed at https://bugzilla.samba.org/. + + +Feature/Function Developer +---------------- --------- + +samba-vscan Rainer Link <rainer@openantivirus.org> +pdb_mysql Jelmer Vernooij <jelmer@samba.org> +General Documentation John Terpstra <jht@samba.org> + + +-- +Please report any errors in this file to <samba-technical@samba.org> diff --git a/source3/include/adt_tree.h b/source3/include/adt_tree.h index 2fbfb55e88..51b6fb1c88 100644 --- a/source3/include/adt_tree.h +++ b/source3/include/adt_tree.h @@ -1,7 +1,7 @@ /* * Unix SMB/CIFS implementation. * Generic Abstract Data Types - * Copyright (C) Gerald Carter 2002. + * Copyright (C) Gerald Carter 2002-2005. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -39,17 +39,18 @@ typedef struct _tree_node { typedef struct _tree_root { TREE_NODE *root; + + /* not used currently (is it needed?) */ int (*compare)(void* x, void *y); - void (*free_func)(void *p); } SORTED_TREE; /* * API */ -/* initializer and desctrutor */ -SORTED_TREE* pathtree_init( void *data_p, int (cmp_fn)(void*, void*), void (free_fn)(void*) ); -void pathtree_destroy( SORTED_TREE *tree ); +/* create a new tree, talloc_free() to throw it away */ + +SORTED_TREE* pathtree_init( void *data_p, int (cmp_fn)(void*, void*) ); /* add a new path component */ diff --git a/source3/lib/adt_tree.c b/source3/lib/adt_tree.c index ad763c2be1..05a470bc49 100644 --- a/source3/lib/adt_tree.c +++ b/source3/lib/adt_tree.c @@ -23,8 +23,6 @@ /************************************************************************** - Initialize the tree's root. The cmp_fn is a callback function used - for comparision of two children *************************************************************************/ static BOOL trim_tree_keypath( char *path, char **base, char **new_path ) @@ -54,26 +52,20 @@ static BOOL trim_tree_keypath( char *path, char **base, char **new_path ) for comparision of two children *************************************************************************/ - SORTED_TREE* pathtree_init( void *data_p, - int (cmp_fn)(void*, void*), - void (free_fn)(void*) ) + SORTED_TREE* pathtree_init( void *data_p, int (cmp_fn)(void*, void*) ) { SORTED_TREE *tree = NULL; - if ( !(tree = SMB_MALLOC_P(SORTED_TREE)) ) + if ( !(tree = TALLOC_ZERO_P(NULL, SORTED_TREE)) ) return NULL; - ZERO_STRUCTP( tree ); - tree->compare = cmp_fn; - tree->free_func = free_fn; - if ( !(tree->root = SMB_MALLOC_P(TREE_NODE)) ) { - SAFE_FREE( tree ); + if ( !(tree->root = TALLOC_ZERO_P(tree, TREE_NODE)) ) { + TALLOC_FREE( tree ); return NULL; } - ZERO_STRUCTP( tree->root ); tree->root->data_p = data_p; return tree; @@ -81,43 +73,6 @@ static BOOL trim_tree_keypath( char *path, char **base, char **new_path ) /************************************************************************** - Delete a tree and free all allocated memory - *************************************************************************/ - -static void pathtree_destroy_children( TREE_NODE *root ) -{ - int i; - - if ( !root ) - return; - - for ( i=0; i<root->num_children; i++ ) - { - pathtree_destroy_children( root->children[i] ); - } - - SAFE_FREE( root->children ); - SAFE_FREE( root->key ); - - return; -} - -/************************************************************************** - Delete a tree and free all allocated memory - *************************************************************************/ - - void pathtree_destroy( SORTED_TREE *tree ) -{ - if ( tree->root ) - pathtree_destroy_children( tree->root ); - - if ( tree->free_func ) - tree->free_func( tree->root ); - - SAFE_FREE( tree ); -} - -/************************************************************************** Find the next child given a key string *************************************************************************/ @@ -127,15 +82,13 @@ static TREE_NODE* pathtree_birth_child( TREE_NODE *node, char* key ) TREE_NODE **siblings; int i; - if ( !(infant = SMB_MALLOC_P(TREE_NODE)) ) + if ( !(infant = TALLOC_ZERO_P( node, TREE_NODE)) ) return NULL; - ZERO_STRUCTP( infant ); - - infant->key = SMB_STRDUP( key ); + infant->key = talloc_strdup( infant, key ); infant->parent = node; - siblings = SMB_REALLOC_ARRAY( node->children, TREE_NODE *, node->num_children+1 ); + siblings = TALLOC_REALLOC_ARRAY( node, node->children, TREE_NODE *, node->num_children+1 ); if ( siblings ) node->children = siblings; |