On Wednesday 20 July 2005 3:02 am, Raphael wrote: > Hi, Why not using basetsd.h defines instead ?
because windef.h does not depend on basetsd.h Here is a different approach
Index: include/windef.h =================================================================== RCS file: /home/wine/wine/include/windef.h,v retrieving revision 1.96 diff -u -d -r1.96 windef.h --- include/windef.h 17 Jun 2005 09:50:48 -0000 1.96 +++ include/windef.h 21 Jul 2005 03:02:25 -0000 @@ -165,6 +165,12 @@ /* Standard data types */ +#if defined(_WIN64) && defined(__GNUC__) +#define WINE_LONG int +# else +#define WINE_LONG long +#endif + typedef void *LPVOID; typedef const void *LPCVOID; typedef int BOOL, *PBOOL, *LPBOOL; @@ -174,9 +180,9 @@ typedef unsigned short USHORT, *PUSHORT; typedef int INT, *PINT, *LPINT; typedef unsigned int UINT, *PUINT; -typedef long *LPLONG; -typedef unsigned long DWORD, *PDWORD, *LPDWORD; -typedef unsigned long ULONG, *PULONG; +typedef WINE_LONG *LPLONG; +typedef unsigned WINE_LONG DWORD, *PDWORD, *LPDWORD; +typedef unsigned WINE_LONG ULONG, *PULONG; typedef float FLOAT, *PFLOAT; typedef char *PSZ; Index: include/winnt.h =================================================================== RCS file: /home/wine/wine/include/winnt.h,v retrieving revision 1.218 diff -u -d -r1.218 winnt.h --- include/winnt.h 19 Jul 2005 11:44:32 -0000 1.218 +++ include/winnt.h 21 Jul 2005 03:02:28 -0000 @@ -300,7 +300,7 @@ typedef BYTE BOOLEAN, *PBOOLEAN; typedef char CHAR, *PCHAR; typedef short SHORT, *PSHORT; -typedef long LONG, *PLONG; +typedef WINE_LONG LONG, *PLONG; /* Some systems might have wchar_t, but we really need 16 bit characters */ #ifdef WINE_UNICODE_NATIVE