diff options
author | Jeremy Allison <jra@samba.org> | 2009-10-17 10:36:33 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-10-17 10:36:33 -0700 |
commit | 7c51fa6d699a653cafa90df8e44911b576118ebd (patch) | |
tree | 543bf9ca698e03eff81104898b33e77f1abed319 /source3/registry/reg_objects.c | |
parent | cc3a6770c77ec8fe1cd63bf4c682853c56201f0c (diff) | |
parent | 3e3214fd91471bca5b6c4d3782e922d252d588fb (diff) | |
download | samba-7c51fa6d699a653cafa90df8e44911b576118ebd.tar.gz samba-7c51fa6d699a653cafa90df8e44911b576118ebd.tar.bz2 samba-7c51fa6d699a653cafa90df8e44911b576118ebd.zip |
Merge branch 'master' of ssh://jra@git.samba.org/data/git/samba
Diffstat (limited to 'source3/registry/reg_objects.c')
-rw-r--r-- | source3/registry/reg_objects.c | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/source3/registry/reg_objects.c b/source3/registry/reg_objects.c index 0c0455aada..b4b8ff2630 100644 --- a/source3/registry/reg_objects.c +++ b/source3/registry/reg_objects.c @@ -490,6 +490,40 @@ int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16 type, } /*********************************************************************** + Add a new registry SZ value to the array + **********************************************************************/ + +int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const char *data) +{ + DATA_BLOB blob; + + if (!push_reg_sz(ctr, &blob, data)) { + return -1; + } + + return regval_ctr_addvalue(ctr, name, REG_SZ, + (const char *)blob.data, + blob.length); +} + +/*********************************************************************** + Add a new registry MULTI_SZ value to the array + **********************************************************************/ + +int regval_ctr_addvalue_multi_sz(struct regval_ctr *ctr, const char *name, const char **data) +{ + DATA_BLOB blob; + + if (!push_reg_multi_sz(ctr, &blob, data)) { + return -1; + } + + return regval_ctr_addvalue(ctr, name, REG_MULTI_SZ, + (const char *)blob.data, + blob.length); +} + +/*********************************************************************** Add a new registry value to the array **********************************************************************/ @@ -568,11 +602,12 @@ uint32 regval_dword(struct regval_blob *val) return the data_p as a character string **********************************************************************/ -char *regval_sz(struct regval_blob *val) +const char *regval_sz(struct regval_blob *val) { - char *data = NULL; + const char *data = NULL; + DATA_BLOB blob = data_blob_const(regval_data_p(val), regval_size(val)); + + pull_reg_sz(talloc_tos(), &blob, &data); - rpcstr_pull_talloc(talloc_tos(), &data, - regval_data_p(val), regval_size(val),0); return data; } |