diff options
-rw-r--r-- | source3/registry/reg_backend_shares.c | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/source3/registry/reg_backend_shares.c b/source3/registry/reg_backend_shares.c index 4218eb5cbb..22b8fd7ed2 100644 --- a/source3/registry/reg_backend_shares.c +++ b/source3/registry/reg_backend_shares.c @@ -37,24 +37,23 @@ static char* trim_reg_path( const char *path ) { const char *p; uint16 key_len = strlen(KEY_SHARES); - + /* * sanity check...this really should never be True. * It is only here to prevent us from accessing outside * the path buffer in the extreme case. */ - + if ( strlen(path) < key_len ) { DEBUG(0,("trim_reg_path: Registry path too short! [%s]\n", path)); return NULL; } - - + p = path + strlen( KEY_SHARES ); - + if ( *p == '\\' ) p++; - + if ( *p ) return SMB_STRDUP(p); else @@ -65,22 +64,22 @@ static char* trim_reg_path( const char *path ) Enumerate registry subkey names given a registry path. Caller is responsible for freeing memory to **subkeys *********************************************************************/ - + static int shares_subkey_info( const char *key, struct regsubkey_ctr *subkey_ctr ) { char *path; bool top_level = False; int num_subkeys = 0; - + DEBUG(10,("printing_subkey_info: key=>[%s]\n", key)); - + path = trim_reg_path( key ); - + /* check to see if we are dealing with the top level key */ - + if ( !path ) top_level = True; - + if ( top_level ) { num_subkeys = 1; regsubkey_ctr_addkey( subkey_ctr, "Security" ); @@ -89,9 +88,9 @@ static int shares_subkey_info( const char *key, struct regsubkey_ctr *subkey_ctr else num_subkeys = handle_share_subpath( path, subkey_ctr, NULL ); #endif - + SAFE_FREE( path ); - + return num_subkeys; } @@ -105,16 +104,16 @@ static int shares_value_info(const char *key, struct regval_ctr *val) char *path; bool top_level = False; int num_values = 0; - + DEBUG(10,("printing_value_info: key=>[%s]\n", key)); - + path = trim_reg_path( key ); - + /* check to see if we are dealing with the top level key */ - + if ( !path ) top_level = True; - + /* fill in values from the getprinterdata_printer_server() */ if ( top_level ) num_values = 0; @@ -122,9 +121,9 @@ static int shares_value_info(const char *key, struct regval_ctr *val) else num_values = handle_printing_subpath( path, NULL, val ); #endif - + SAFE_FREE(path); - + return num_values; } |