diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-12-14 20:49:18 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:07:26 -0500 |
commit | 1a340869c43f9ce741e8a4bd28ea01ec63301df5 (patch) | |
tree | cd005ea4f160b42c8c38b7a9112b87c93ee0ced3 /source4/lib/registry/reg_backend_rpc.c | |
parent | 75f02f9d4daf4a16b408ce145f841f11d4b0ca67 (diff) | |
download | samba-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.c | 18 |
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); |