1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

r9998: starting content for maintainers file

(This used to be commit 554c22faeefe6932a01aa7bd6e2861c5abd37510)
This commit is contained in:
Gerald Carter 2005-09-03 16:38:51 +00:00 committed by Gerald (Jerry) Carter
parent 93954d6390
commit 99c909c2fa
3 changed files with 38 additions and 60 deletions

View File

@ -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>

View File

@ -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 */

View File

@ -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,69 +52,26 @@ 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;
}
/**************************************************************************
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;