summaryrefslogtreecommitdiff
path: root/source4/lib/registry/common/reg_util.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-04-08 22:39:47 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:51:09 -0500
commitaebfb3b9f415d3c1f6b2a39aee27b072d48893cb (patch)
tree4eebbcafdd559216ef8ad952f11ebe05f947b5f0 /source4/lib/registry/common/reg_util.c
parentd907dcf383fcdf82add4fd7c397885eab5bb57af (diff)
downloadsamba-aebfb3b9f415d3c1f6b2a39aee27b072d48893cb.tar.gz
samba-aebfb3b9f415d3c1f6b2a39aee27b072d48893cb.tar.bz2
samba-aebfb3b9f415d3c1f6b2a39aee27b072d48893cb.zip
r128: Another registry update. Changes:
- Start with the LDB backend - The API is now more windows-like, which should make it easier to use in rpc_server - Added a GTK+ front-end - Added some more IDL More updates will follow, especially in the RPC field.. (This used to be commit 3adffa021779b26047a20f16a3c0b53d74751560)
Diffstat (limited to 'source4/lib/registry/common/reg_util.c')
-rw-r--r--source4/lib/registry/common/reg_util.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/source4/lib/registry/common/reg_util.c b/source4/lib/registry/common/reg_util.c
index 060d053fc2..5ca104fc2e 100644
--- a/source4/lib/registry/common/reg_util.c
+++ b/source4/lib/registry/common/reg_util.c
@@ -96,22 +96,26 @@ BOOL reg_val_set_string(REG_VAL *val, char *str)
return False;
}
-REG_VAL *reg_key_get_subkey_val(REG_KEY *key, const char *subname, const char *valname)
+WERROR reg_key_get_subkey_val(REG_KEY *key, const char *subname, const char *valname, REG_VAL **val)
{
- REG_KEY *k = reg_key_get_subkey_by_name(key, subname);
- if(!k) return NULL;
+ REG_KEY *k;
+ WERROR error = reg_key_get_subkey_by_name(key, subname, &k);
+ if(!W_ERROR_IS_OK(error)) return error;
- return reg_key_get_value_by_name(k, valname);
+ return reg_key_get_value_by_name(k, valname, val);
}
-BOOL reg_key_set_subkey_val(REG_KEY *key, const char *subname, const char *valname, uint32 type, uint8 *data, int real_len)
+WERROR reg_key_set_subkey_val(REG_KEY *key, const char *subname, const char *valname, uint32 type, uint8 *data, int real_len)
{
- REG_KEY *k = reg_key_get_subkey_by_name(key, subname);
+ REG_KEY *k;
REG_VAL *v;
- if(!k) return False;
+ WERROR error;
- v = reg_key_get_value_by_name(k, valname);
- if(!v) return False;
+ error = reg_key_get_subkey_by_name(key, subname, &k);
+ if(!W_ERROR_IS_OK(error)) return error;
+
+ error = reg_key_get_value_by_name(k, valname, &v);
+ if(!W_ERROR_IS_OK(error)) return error;
return reg_val_update(v, type, data, real_len);
}