r4117: fixed EnumValue in winreg server
authorAndrew Tridgell <tridge@samba.org>
Thu, 9 Dec 2004 12:50:50 +0000 (12:50 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:06:28 +0000 (13:06 -0500)
(This used to be commit f2f21033b65b82251b5ea0b2475ceb1bb3657fb3)

source4/rpc_server/winreg/rpc_winreg.c

index 50b529e4507931a731c79355575a1078b7f63f71..e012993bb758bd190fd749e3f4d2decdc43fe1da 100644 (file)
@@ -198,7 +198,7 @@ static WERROR winreg_EnumKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem
   winreg_EnumValue 
 */
 static WERROR winreg_EnumValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct winreg_EnumValue *r)
+                              struct winreg_EnumValue *r)
 {
        struct dcesrv_handle *h;
        struct registry_key *key;
@@ -217,13 +217,11 @@ static WERROR winreg_EnumValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *m
        
        r->out.type = &value->data_type;
        r->out.name_out.name = value->name;
-       r->out.value_out = talloc_p(mem_ctx, struct EnumValueOut);
-       r->out.value_out->offset = 0;
-       r->out.value_out->buffer = data_blob_talloc(mem_ctx, value->data_blk, value->data_len);
-       r->out.value_len1 = r->in.value_len1;
-       r->out.value_len2 = r->in.value_len2;
+       r->out.value = value->data_blk;
+       r->out.size = talloc_p(mem_ctx, uint32_t);
+       r->out.length = r->out.size;
+       *r->out.size = value->data_len;
        
-
        return WERR_OK;
 }