[PATCH] 0001-Fixed-tests-in-dlls-ws2_32-tests-sock.c-for-simple_s.patch

Juan Lang juan.lang at gmail.com
Wed Mar 11 12:33:36 CDT 2009


Hi Andrew,

diff --git a/dlls/dbghelp/type.c b/dlls/dbghelp/type.c
index 947eb49..4e426e2 100644
--- a/dlls/dbghelp/type.c
+++ b/dlls/dbghelp/type.c

It seems rather unlikely that dbghelp is causing failures in the
winsock tests.  Perhaps dbghelp is getting invoked due to a crash?
Besides,

-        sym_info->TypeIndex = (DWORD)type;
+        sym_info->TypeIndex = (DWORD_PTR)type;

This doesn't appear correct.  sym_info is a SYMBOL_INFO *, and
SYMBOL_INFO.TypeIndex is declared as ULONG.  The fix is likely to
require storing an index into a table rather than a pointer in
TypeIndex, since type (a struct symt **) won't fit in a ULONG.

-                tifp->ChildId[i] = (DWORD)*pt;
+                tifp->ChildId[i] = (DWORD_PTR)*pt;

Same here.

-        WS(u_long) S_addr;
+        ULONG S_addr;
(snip)
-#define FIONBIO                    _IOW('f', 126, u_long)
+#define FIONBIO                    _IOW('f', 126, ULONG)

These casts are fishy.  Why are ULONG and u_long (WS_u_long) different
sizes?  If they are, the includes are broken somehow, as there's
simply no need for S_addr to be anything but 32 bits.
--Juan



More information about the wine-devel mailing list