Commit 6fd05b1d authored by Dan Hipschman's avatar Dan Hipschman Committed by Alexandre Julliard

rpcrt4: Fix bug calculating union switch type.

parent b09b917a
...@@ -4301,7 +4301,7 @@ unsigned char * WINAPI NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE pStubMsg ...@@ -4301,7 +4301,7 @@ unsigned char * WINAPI NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE pStubMsg
pFormat++; pFormat++;
switch_type = *pFormat & 0xf; switch_type = *pFormat & 0xf;
increment = *pFormat & 0xf0 >> 4; increment = (*pFormat & 0xf0) >> 4;
pFormat++; pFormat++;
ALIGN_POINTER(pStubMsg->Buffer, increment); ALIGN_POINTER(pStubMsg->Buffer, increment);
...@@ -4333,7 +4333,7 @@ unsigned char * WINAPI NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE pStubM ...@@ -4333,7 +4333,7 @@ unsigned char * WINAPI NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE pStubM
pFormat++; pFormat++;
switch_type = *pFormat & 0xf; switch_type = *pFormat & 0xf;
increment = *pFormat & 0xf0 >> 4; increment = (*pFormat & 0xf0) >> 4;
pFormat++; pFormat++;
ALIGN_POINTER(pStubMsg->Buffer, increment); ALIGN_POINTER(pStubMsg->Buffer, increment);
...@@ -4365,7 +4365,7 @@ void WINAPI NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE pStubMsg, ...@@ -4365,7 +4365,7 @@ void WINAPI NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE pStubMsg,
pFormat++; pFormat++;
switch_type = *pFormat & 0xf; switch_type = *pFormat & 0xf;
increment = *pFormat & 0xf0 >> 4; increment = (*pFormat & 0xf0) >> 4;
pFormat++; pFormat++;
ALIGN_LENGTH(pStubMsg->BufferLength, increment); ALIGN_LENGTH(pStubMsg->BufferLength, increment);
...@@ -4390,7 +4390,7 @@ ULONG WINAPI NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE pStubMsg, ...@@ -4390,7 +4390,7 @@ ULONG WINAPI NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE pStubMsg,
ULONG switch_value; ULONG switch_value;
switch_type = *pFormat & 0xf; switch_type = *pFormat & 0xf;
increment = *pFormat & 0xf0 >> 4; increment = (*pFormat & 0xf0) >> 4;
pFormat++; pFormat++;
ALIGN_POINTER(pStubMsg->Buffer, increment); ALIGN_POINTER(pStubMsg->Buffer, increment);
...@@ -4417,7 +4417,7 @@ void WINAPI NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE pStubMsg, ...@@ -4417,7 +4417,7 @@ void WINAPI NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE pStubMsg,
pFormat++; pFormat++;
switch_type = *pFormat & 0xf; switch_type = *pFormat & 0xf;
increment = *pFormat & 0xf0 >> 4; increment = (*pFormat & 0xf0) >> 4;
pFormat++; pFormat++;
switch_value = get_discriminant(switch_type, pMemory); switch_value = get_discriminant(switch_type, pMemory);
......
...@@ -396,7 +396,6 @@ union_tests(void) ...@@ -396,7 +396,6 @@ union_tests(void)
i = 11; i = 11;
ok(square_sun(&su) == 121.0, "RPC square_sun\n"); ok(square_sun(&su) == 121.0, "RPC square_sun\n");
todo_wine {
eu.t = ENCU_I; eu.t = ENCU_I;
eu.tagged_union.i = 7; eu.tagged_union.i = 7;
ok(square_encu(&eu) == 49.0, "RPC square_encu\n"); ok(square_encu(&eu) == 49.0, "RPC square_encu\n");
...@@ -405,7 +404,6 @@ todo_wine { ...@@ -405,7 +404,6 @@ todo_wine {
eu.tagged_union.f = 3.0; eu.tagged_union.f = 3.0;
ok(square_encu(&eu) == 9.0, "RPC square_encu\n"); ok(square_encu(&eu) == 9.0, "RPC square_encu\n");
} }
}
static test_list_t * static test_list_t *
null_list(void) null_list(void)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment