mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
registry: add a function regdb_key_is_base_key() to check whether is composite.
This partly duplicates code from regdb_key_exists(). Maybe refactor later.
Michael
(This used to be commit c27d03bba8
)
This commit is contained in:
parent
4095b008ee
commit
8e21d223f7
@ -28,6 +28,7 @@ static struct db_context *regdb = NULL;
|
||||
static int regdb_refcount;
|
||||
|
||||
static bool regdb_key_exists(const char *key);
|
||||
static bool regdb_key_is_base_key(const char *key);
|
||||
|
||||
/* List the deepest path into the registry. All part components will be created.*/
|
||||
|
||||
@ -770,6 +771,38 @@ static TDB_DATA regdb_fetch_key_internal(TALLOC_CTX *mem_ctx, const char *key)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* check whether a given key name represents a base key,
|
||||
* i.e one without a subkey separator ('/' or '\').
|
||||
*/
|
||||
static bool regdb_key_is_base_key(const char *key)
|
||||
{
|
||||
TALLOC_CTX *mem_ctx = talloc_stackframe();
|
||||
bool ret = false;
|
||||
char *path;
|
||||
|
||||
if (key == NULL) {
|
||||
goto done;
|
||||
}
|
||||
|
||||
path = normalize_reg_path(mem_ctx, key);
|
||||
if (path == NULL) {
|
||||
DEBUG(0, ("out of memory! (talloc failed)\n"));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (*path == '\0') {
|
||||
goto done;
|
||||
}
|
||||
|
||||
ret = (strrchr(path, '/') == NULL);
|
||||
|
||||
done:
|
||||
TALLOC_FREE(mem_ctx);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check for the existence of a key.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user