diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/registry/reg_backend_db.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c index 8c994a0c4e..33454c9064 100644 --- a/source3/registry/reg_backend_db.c +++ b/source3/registry/reg_backend_db.c @@ -27,6 +27,8 @@ static struct db_context *regdb = NULL; static int regdb_refcount; +static bool regdb_key_exists(const char *key); + /* List the deepest path into the registry. All part components will be created.*/ /* If you want to have a part of the path controlled by the tdb and part by @@ -725,6 +727,21 @@ static TDB_DATA regdb_fetch_key_internal(const char *key, TALLOC_CTX *mem_ctx) return dbwrap_fetch_bystring(regdb, mem_ctx, path); } + +static bool regdb_key_exists(const char *key) +{ + TALLOC_CTX *mem_ctx = talloc_stackframe(); + TDB_DATA value; + bool ret; + + value = regdb_fetch_key_internal(key, mem_ctx); + ret = (value.dptr != NULL); + + TALLOC_FREE(mem_ctx); + return ret; +} + + /*********************************************************************** Retrieve an array of strings containing subkeys. Memory should be released by the caller. |