svn commit: samba r4116 - in
branches/SAMBA_4_0/source/lib/registry/reg_backend_rpc: .
tridge at samba.org
tridge at samba.org
Thu Dec 9 12:42:29 GMT 2004
Author: tridge
Date: 2004-12-09 12:42:29 +0000 (Thu, 09 Dec 2004)
New Revision: 4116
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4116
Log:
fixed compilation of EnumValue code in winreg rpc backend
thanks to volker for pointing this out
Modified:
branches/SAMBA_4_0/source/lib/registry/reg_backend_rpc/reg_backend_rpc.c
Changeset:
Modified: branches/SAMBA_4_0/source/lib/registry/reg_backend_rpc/reg_backend_rpc.c
===================================================================
--- branches/SAMBA_4_0/source/lib/registry/reg_backend_rpc/reg_backend_rpc.c 2004-12-09 10:33:21 UTC (rev 4115)
+++ branches/SAMBA_4_0/source/lib/registry/reg_backend_rpc/reg_backend_rpc.c 2004-12-09 12:42:29 UTC (rev 4116)
@@ -226,9 +226,10 @@
struct rpc_key_data *mykeydata = parent->backend_data;
WERROR error;
struct winreg_EnumValue r;
- uint32 type, len1, len2 = 0;
- struct EnumValueIn buf_name, buf_val;
+ uint32 type, len1, zero = 0;
NTSTATUS status;
+ uint8_t buf8;
+ uint16_t buf16;
if(mykeydata->num_values == -1) {
error = rpc_query_key(parent);
@@ -239,19 +240,13 @@
r.in.handle = &mykeydata->pol;
r.in.enum_index = n;
- r.in.name_in.len = 0;
- r.in.name_in.max_len = mykeydata->max_valnamelen * 2;
- buf_name.max_len = mykeydata->max_valnamelen;
- buf_name.offset = 0;
- buf_name.len = 0;
- r.in.name_in.buffer = &buf_name;
+ r.in.name_in.length = 0;
+ r.in.name_in.size = mykeydata->max_valnamelen * 2;
+ r.in.name_in.name = &buf16;
r.in.type = &type;
- buf_val.max_len = mykeydata->max_valdatalen;
- buf_val.offset = 0;
- buf_val.len = 0;
- r.in.value_in = &buf_val;
- r.in.value_len1 = &len1;
- r.in.value_len2 = &len2;
+ r.in.value = &buf8;
+ r.in.length = &zero;
+ r.in.size = &len1;
r.out.type = &type;
@@ -261,13 +256,14 @@
return WERR_GENERAL_FAILURE;
}
- if(NT_STATUS_IS_OK(status) && W_ERROR_IS_OK(r.out.result)) {
+ if(NT_STATUS_IS_OK(status) &&
+ W_ERROR_IS_OK(r.out.result) && r.out.length) {
*value = talloc_p(mem_ctx, struct registry_value);
(*value)->parent = parent;
(*value)->name = talloc_strdup(mem_ctx, r.out.name_out.name);
(*value)->data_type = type;
- (*value)->data_len = r.out.value_out->buffer.length;
- (*value)->data_blk = talloc_memdup(mem_ctx, r.out.value_out->buffer.data, r.out.value_out->buffer.length);
+ (*value)->data_len = *r.out.length;
+ (*value)->data_blk = talloc_memdup(mem_ctx, r.out.value, *r.out.length);
return WERR_OK;
}
More information about the samba-cvs
mailing list