summaryrefslogtreecommitdiff
path: root/source4/lib/registry/reg_backend_rpc.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-12-14 20:49:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:07:26 -0500
commit1a340869c43f9ce741e8a4bd28ea01ec63301df5 (patch)
treecd005ea4f160b42c8c38b7a9112b87c93ee0ced3 /source4/lib/registry/reg_backend_rpc.c
parent75f02f9d4daf4a16b408ce145f841f11d4b0ca67 (diff)
downloadsamba-1a340869c43f9ce741e8a4bd28ea01ec63301df5.tar.gz
samba-1a340869c43f9ce741e8a4bd28ea01ec63301df5.tar.bz2
samba-1a340869c43f9ce741e8a4bd28ea01ec63301df5.zip
r4204: Arguments to reg_del_key more like the RPC for more efficient usage
Fix small bug in regpatch Fix segfault in regshell cmdline completion Implement set_value and del_value in ldb backend (This used to be commit 8e2aa58abeafa78afe7dafb9723f5f365e756527)
Diffstat (limited to 'source4/lib/registry/reg_backend_rpc.c')
-rw-r--r--source4/lib/registry/reg_backend_rpc.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/source4/lib/registry/reg_backend_rpc.c b/source4/lib/registry/reg_backend_rpc.c
index b14b67d609..224a061762 100644
--- a/source4/lib/registry/reg_backend_rpc.c
+++ b/source4/lib/registry/reg_backend_rpc.c
@@ -315,27 +315,17 @@ static WERROR rpc_query_key(struct registry_key *k)
return r.out.result;
}
-static WERROR rpc_del_key(struct registry_key *k)
+static WERROR rpc_del_key(struct registry_key *parent, const char *name)
{
NTSTATUS status;
- struct rpc_key_data *mykeydata = k->backend_data;
+ struct rpc_key_data *mykeydata = parent->backend_data;
struct winreg_DeleteKey r;
- struct registry_key *parent;
- WERROR error;
TALLOC_CTX *mem_ctx = talloc_init("del_key");
- error = reg_key_get_parent(mem_ctx, k, &parent);
- if(!W_ERROR_IS_OK(error)) {
- talloc_destroy(mem_ctx);
- return error;
- }
-
- mykeydata = parent->backend_data;
-
r.in.handle = &mykeydata->pol;
- init_winreg_String(&r.in.key, k->name);
+ init_winreg_String(&r.in.key, name);
- status = dcerpc_winreg_DeleteKey((struct dcerpc_pipe *)k->hive->backend_data, mem_ctx, &r);
+ status = dcerpc_winreg_DeleteKey((struct dcerpc_pipe *)parent->hive->backend_data, mem_ctx, &r);
talloc_destroy(mem_ctx);