From d4e06596d50e008425b9d346c3814a03eea8309a Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 24 Nov 2009 15:26:08 +0100 Subject: s3-registry: remove reg_pull_multi_sz(). Guenther --- source3/lib/util_reg_api.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'source3/lib/util_reg_api.c') diff --git a/source3/lib/util_reg_api.c b/source3/lib/util_reg_api.c index 56ecc5472d..503db774fc 100644 --- a/source3/lib/util_reg_api.c +++ b/source3/lib/util_reg_api.c @@ -102,14 +102,27 @@ WERROR registry_pull_value(TALLOC_CTX *mem_ctx, SAFE_FREE(tmp); break; } - case REG_MULTI_SZ: - err = reg_pull_multi_sz(value, (void *)data, length, - &value->v.multi_sz.num_strings, - &value->v.multi_sz.strings); - if (!(W_ERROR_IS_OK(err))) { + case REG_MULTI_SZ: { + int i; + const char **vals; + DATA_BLOB blob; + + blob = data_blob_const(data, length); + + if (!pull_reg_multi_sz(mem_ctx, &blob, &vals)) { + err = WERR_NOMEM; goto error; } + + for (i=0; vals[i]; i++) { + ;; + } + + value->v.multi_sz.num_strings = i; + value->v.multi_sz.strings = (char **)vals; + break; + } case REG_BINARY: value->v.binary = data_blob_talloc(mem_ctx, data, length); break; -- cgit