diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/proto.h | 1 | ||||
-rw-r--r-- | source3/registry/reg_objects.c | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index e192ee9edf..25b04fe510 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -5120,6 +5120,7 @@ struct regval_blob *regval_compose(TALLOC_CTX *ctx, const char *name, int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16 type, const char *data_p, size_t size); int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const char *data); +int regval_ctr_addvalue_multi_sz(struct regval_ctr *ctr, const char *name, const char **data); int regval_ctr_copyvalue(struct regval_ctr *ctr, struct regval_blob *val); int regval_ctr_delvalue(struct regval_ctr *ctr, const char *name); struct regval_blob* regval_ctr_getvalue(struct regval_ctr *ctr, diff --git a/source3/registry/reg_objects.c b/source3/registry/reg_objects.c index 908cda5d2e..21ebba6540 100644 --- a/source3/registry/reg_objects.c +++ b/source3/registry/reg_objects.c @@ -507,6 +507,23 @@ int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const char } /*********************************************************************** + 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 **********************************************************************/ |