rpcrt4: Handle FC_NON_ENCAPSULATED_UNION in calc_arg_size().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45699
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2020-04-04 18:15:29 -05:00 committed by Alexandre Julliard
parent 5c16408e90
commit ff7f92c0b0

View file

@ -210,6 +210,12 @@ static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat)
pStubMsg->MaxCount = 0;
size *= pStubMsg->MaxCount;
break;
case FC_NON_ENCAPSULATED_UNION:
{
DWORD offset = *(const WORD *)(pFormat + 6 + pStubMsg->CorrDespIncrement);
size = *(const WORD *)(pFormat + 8 + pStubMsg->CorrDespIncrement + offset);
break;
}
default:
FIXME("Unhandled type %02x\n", *pFormat);
/* fallthrough */