1
0
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:
Michael Adam 2008-05-08 00:34:35 +02:00
parent 4095b008ee
commit 8e21d223f7

View File

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