André Hentschel : widl: Fix for typelib generation when unaligned access to memory is not allowed.
Alexandre Julliard
julliard at winehq.org
Mon Nov 15 13:28:47 CST 2010
Module: wine
Branch: master
Commit: d4dc2a3a4f08c2c725ddf4203ecf6618b4e3fa19
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d4dc2a3a4f08c2c725ddf4203ecf6618b4e3fa19
Author: André Hentschel <nerv at dawncrow.de>
Date: Sat Nov 13 21:42:34 2010 +0100
widl: Fix for typelib generation when unaligned access to memory is not allowed.
---
tools/widl/write_msft.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c
index da4eb25..874d3ad 100644
--- a/tools/widl/write_msft.c
+++ b/tools/widl/write_msft.c
@@ -1208,7 +1208,7 @@ static void write_value(msft_typelib_t* typelib, int *out, int vt, const void *v
int len = strlen(s), seg_len = (len + 6 + 3) & ~0x3;
int offset = ctl2_alloc_segment(typelib, MSFT_SEG_CUSTDATA, seg_len, 0);
*((unsigned short *)&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset]) = vt;
- *((unsigned int *)&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset+2]) = len;
+ memcpy(&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset+2], &len, sizeof(len));
memcpy(&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset+6], value, len);
len += 6;
while(len < seg_len) {
More information about the wine-cvs
mailing list