r23779: Change from v2 or later to v3 or later.
[bbaumbach/samba-autobuild/.git] / source3 / registry / reg_cachehook.c
index 3b75cae1a59f791e44a0c4efd7cdbcfafbc06121..e99bf74ee360195859f5a56f43a5df2e61391f23 100644 (file)
@@ -1,11 +1,11 @@
 /* 
  *  Unix SMB/CIFS implementation.
- *  RPC Pipe client / server routines
+ *  Virtual Windows Registry Layer
  *  Copyright (C) Gerald Carter                     2002.
  *
  *  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
- *  the Free Software Foundation; either version 2 of the License, or
+ *  the Free Software Foundation; either version 3 of the License, or
  *  (at your option) any later version.
  *  
  *  This program is distributed in the hope that it will be useful,
@@ -21,6 +21,7 @@
 /* Implementation of registry hook cache tree */
 
 #include "includes.h"
+#include "adt_tree.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_RPC_SRV
@@ -35,7 +36,7 @@ static REGISTRY_HOOK default_hook = { KEY_TREE_ROOT, &regdb_ops };
 
 BOOL reghook_cache_init( void )
 {
-       cache_tree = sorted_tree_init( &default_hook, NULL, NULL );
+       cache_tree = pathtree_init( &default_hook, NULL );
 
        return ( cache_tree == NULL );
 }
@@ -59,14 +60,14 @@ BOOL reghook_cache_add( REGISTRY_HOOK *hook )
 
        DEBUG(10,("reghook_cache_add: Adding key [%s]\n", key));
                
-       return sorted_tree_add( cache_tree, key, hook );
+       return pathtree_add( cache_tree, key, hook );
 }
 
 /**********************************************************************
  Initialize the cache tree
  *********************************************************************/
 
-REGISTRY_HOOK* reghook_cache_find( char *keyname )
+REGISTRY_HOOK* reghook_cache_find( const char *keyname )
 {
        char *key;
        int len;
@@ -78,7 +79,7 @@ REGISTRY_HOOK* reghook_cache_find( char *keyname )
        /* prepend the string with a '\' character */
        
        len = strlen( keyname );
-       if ( !(key = SMB_MALLOC( len + 2 )) ) {
+       if ( !(key = (char *)SMB_MALLOC( len + 2 )) ) {
                DEBUG(0,("reghook_cache_find: malloc failed for string [%s] !?!?!\n",
                        keyname));
                return NULL;
@@ -93,7 +94,7 @@ REGISTRY_HOOK* reghook_cache_find( char *keyname )
                
        DEBUG(10,("reghook_cache_find: Searching for keyname [%s]\n", key));
        
-       hook = sorted_tree_find( cache_tree, key ) ;
+       hook = (REGISTRY_HOOK *)pathtree_find( cache_tree, key ) ;
        
        SAFE_FREE( key );
        
@@ -108,5 +109,5 @@ void reghook_dump_cache( int debuglevel )
 {
        DEBUG(debuglevel,("reghook_dump_cache: Starting cache dump now...\n"));
        
-       sorted_tree_print_keys( cache_tree, debuglevel );
+       pathtree_print_keys( cache_tree, debuglevel );
 }