idl: Fix spoolss check for the size of the struct.
authorAndreas Schneider <asn@samba.org>
Mon, 10 Dec 2012 14:48:28 +0000 (15:48 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 12 Dec 2012 08:42:32 +0000 (09:42 +0100)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
librpc/idl/spoolss.idl

index d888a79ecba9c1ff90db59b1b0519dda8156584f..1a5f5e9be06d15ad442c369ee8416b29f52d65ea 100644 (file)
@@ -3013,11 +3013,11 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor")
                PROTOCOL_LPR_TYPE       = 2
        } spoolss_PortProtocol;
 
-       typedef [public] struct {
+       typedef [public,gensize] struct {
                [charset(UTF16)] uint16 portname[64];
                [value(0x00000001)] uint32 version;
                spoolss_PortProtocol protocol;
-               [value(sizeof(r))] uint32 size;
+               [value(ndr_size_spoolss_PortData1(r, ndr->flags))] uint32 size;
                uint32 reserved;
                [charset(UTF16)] uint16 hostaddress[49];
                [charset(UTF16)] uint16 snmpcommunity[33];
@@ -3031,11 +3031,11 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor")
                uint32 snmp_dev_index;
        } spoolss_PortData1;
 
-       typedef [public] struct {
+       typedef [public,gensize] struct {
                [charset(UTF16)] uint16 portname[64];
                [value(0x00000002)] uint32 version;
                spoolss_PortProtocol protocol;
-               [value(sizeof(r))] uint32 size;
+               [value(ndr_size_spoolss_PortData2(r, ndr->flags))] uint32 size;
                uint32 reserved;
                [charset(UTF16)] uint16 hostaddress[128];
                [charset(UTF16)] uint16 snmpcommunity[33];