From 0f7e503d21562a8c8aee3de609bdcade790bc7a0 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Mon, 20 Sep 2010 02:42:10 +0200 Subject: s3:registry: move higher level function reg_open_path to new module reg_api_util The reg_api.c code should just export functions that direclty relate to winreg api calls. --- source3/registry/reg_api.c | 56 ---------------------------------------------- 1 file changed, 56 deletions(-) (limited to 'source3/registry/reg_api.c') diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c index ab5d86c2312..8d27240cd81 100644 --- a/source3/registry/reg_api.c +++ b/source3/registry/reg_api.c @@ -778,62 +778,6 @@ WERROR reg_deleteallvalues(struct registry_key *key) return WERR_OK; } -/* - * Utility function to open a complete registry path including the hive prefix. - */ - -WERROR reg_open_path(TALLOC_CTX *mem_ctx, const char *orig_path, - uint32 desired_access, const struct security_token *token, - struct registry_key **pkey) -{ - struct registry_key *hive, *key; - char *path, *p; - WERROR err; - - if (!(path = SMB_STRDUP(orig_path))) { - return WERR_NOMEM; - } - - p = strchr(path, '\\'); - - if ((p == NULL) || (p[1] == '\0')) { - /* - * No key behind the hive, just return the hive - */ - - err = reg_openhive(mem_ctx, path, desired_access, token, - &hive); - if (!W_ERROR_IS_OK(err)) { - SAFE_FREE(path); - return err; - } - SAFE_FREE(path); - *pkey = hive; - return WERR_OK; - } - - *p = '\0'; - - err = reg_openhive(mem_ctx, path, KEY_ENUMERATE_SUB_KEYS, token, - &hive); - if (!W_ERROR_IS_OK(err)) { - SAFE_FREE(path); - return err; - } - - err = reg_openkey(mem_ctx, hive, p+1, desired_access, &key); - - TALLOC_FREE(hive); - SAFE_FREE(path); - - if (!W_ERROR_IS_OK(err)) { - return err; - } - - *pkey = key; - return WERR_OK; -} - /* * Utility function to delete a registry key with all its subkeys. * Note that reg_deletekey returns ACCESS_DENIED when called on a -- cgit