On 01/21/16 11:29, Huw Davies wrote:
Signed-off-by: Huw Davies huw@codeweavers.com
dlls/oleaut32/oleaut.c | 3 +++ dlls/oleaut32/tests/vartype.c | 3 +++ 2 files changed, 6 insertions(+)
diff --git a/dlls/oleaut32/oleaut.c b/dlls/oleaut32/oleaut.c index 8a22c2e..07db9ff 100644 --- a/dlls/oleaut32/oleaut.c +++ b/dlls/oleaut32/oleaut.c @@ -84,6 +84,9 @@ static CRITICAL_SECTION_DEBUG cs_bstr_cache_dbg = static CRITICAL_SECTION cs_bstr_cache = { &cs_bstr_cache_dbg, -1, 0, 0, 0, 0 };
typedef struct { +#ifdef _WIN64
- DWORD pad;
+#endif DWORD size; union { char ptr[1];
How about changing size type to SIZE_T instead? This should have the same effect.
Thanks, Jacek
On 21 Jan 2016, at 12:32, Jacek Caban wrote:
On 01/21/16 11:29, Huw Davies wrote:
--- a/dlls/oleaut32/oleaut.c +++ b/dlls/oleaut32/oleaut.c @@ -84,6 +84,9 @@ static CRITICAL_SECTION_DEBUG cs_bstr_cache_dbg = static CRITICAL_SECTION cs_bstr_cache = { &cs_bstr_cache_dbg, -1, 0, 0, 0, 0 };
typedef struct { +#ifdef _WIN64
- DWORD pad;
+#endif DWORD size; union { char ptr[1];
How about changing size type to SIZE_T instead? This should have the same effect.
That was my original idea (well DWORD_PTR actually), but it doesn't work because the size needs to be at byte offset -4.
Huw.