From 3c00855f0efc6247e01a4b215406faef6af6edcd Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 26 Nov 2005 11:44:06 +0000 Subject: [PATCH] Allocate another 4 bytes for unique pointers to simple types. This fixes bug #1048. svn path=/trunk/; revision=19632 --- reactos/tools/widl/ChangeLog | 7 +++++++ reactos/tools/widl/client.c | 3 +++ reactos/tools/widl/server.c | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/reactos/tools/widl/ChangeLog b/reactos/tools/widl/ChangeLog index 85690de3895..d981877d980 100644 --- a/reactos/tools/widl/ChangeLog +++ b/reactos/tools/widl/ChangeLog @@ -1,5 +1,12 @@ ChangeLog +2005-11-26 ekohl + + tools/widl/client.c + tools/widl/server.c + +- Allocate another 4 bytes for unique pointers to simple types. + 2005-10-16 ekohl tools/widl/client.c diff --git a/reactos/tools/widl/client.c b/reactos/tools/widl/client.c index b54d9692c5b..794878db3ad 100644 --- a/reactos/tools/widl/client.c +++ b/reactos/tools/widl/client.c @@ -731,6 +731,9 @@ static void print_message_buffer_size(func_t *func, unsigned int *type_offset) __FUNCTION__,__LINE__, var->type->type); return; } + + if (unique_attr) + size += 4; } else { diff --git a/reactos/tools/widl/server.c b/reactos/tools/widl/server.c index 0701cacb270..e9e94bbf5df 100644 --- a/reactos/tools/widl/server.c +++ b/reactos/tools/widl/server.c @@ -649,6 +649,7 @@ static void print_message_buffer_size(func_t *func, unsigned int *type_offset) out_attr = is_attr(var->attrs, ATTR_OUT); string_attr = is_attr(var->attrs, ATTR_STRING); sizeis_attr = get_attrp(var->attrs, ATTR_SIZEIS); + unique_attr = is_attr(var->attrs, ATTR_UNIQUE); if (out_attr) { @@ -708,6 +709,11 @@ static void print_message_buffer_size(func_t *func, unsigned int *type_offset) __FUNCTION__,__LINE__, var->type->type); return; } + + if (unique_attr) + { + size += 4; + } } } else if (var->type->type == RPC_FC_RP)