From 15a50ef8f856d83508ece3a8294dfaffbadc3b41 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Mon, 4 Jul 2011 13:06:20 +0200 Subject: s3:registry: add new mode to regdb_store_subkey_list() for handing in NULL parent key Standard behaviour is to concatenate parent and key path (parent\key). This new mode allows for storing subkey lists for base keys using a NULL parent argument. Pair-Programmed-With: Gregor Beck --- source3/registry/reg_backend_db.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source3') diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c index 34c25d8357..efb2b46b88 100644 --- a/source3/registry/reg_backend_db.c +++ b/source3/registry/reg_backend_db.c @@ -858,6 +858,8 @@ done: * Utility function to store a new empty list of * subkeys of given key specified as parent and subkey name * (thereby creating the key). + * If the parent keyname is NULL, then the "subkey" is + * interpreted as a base key. * If the subkey list does already exist, it is not modified. * * Must be called from within a transaction. @@ -870,7 +872,11 @@ static WERROR regdb_store_subkey_list(struct db_context *db, const char *parent, struct regsubkey_ctr *subkeys = NULL; TALLOC_CTX *frame = talloc_stackframe(); - path = talloc_asprintf(frame, "%s\\%s", parent, key); + if (parent == NULL) { + path = talloc_strdup(frame, key); + } else { + path = talloc_asprintf(frame, "%s\\%s", parent, key); + } if (!path) { werr = WERR_NOMEM; goto done; -- cgit