diff --git a/include/msvcrt/string.h b/include/msvcrt/string.h index a821aa2..cc0b25e 100644 --- a/include/msvcrt/string.h +++ b/include/msvcrt/string.h @@ -18,8 +18,18 @@ typedef unsigned short wchar_t; #endif #endif
+#ifndef _MSC_VER +# ifndef __int64 +# define __int64 long long +# endif +#endif
#ifndef _SIZE_T_DEFINED +#ifdef _WIN64 +typedef unsigned __int64 size_t; +#else typedef unsigned int size_t; +#endif #define _SIZE_T_DEFINED #endif
Unfortunately, your changes to the submitted patch break it. The problem is that at this point _WIN64 is not defined yet. It is defined in windef.h which hasn't been included at this point. With your change, I still get the following compile-time error during compilation of dlls/msvcrt/test/data.c:
In file included from data.c:21: ./../msvcrt.h:625: error: conflicting types for _strnset ../../../include/msvcrt/string.h:62: error: previous declaration of _strnset was here
The patch I submitted fixes the problem by moving the include of "windef.h" a bit up:
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index fc330ce..3da416d 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -36,11 +36,12 @@ #ifndef __WINE_MSVCRT_H #define __WINE_MSVCRT_H
+#include "windef.h" + #include <stdarg.h> #include <ctype.h> #include <string.h>
-#include "windef.h" #include "winbase.h" #include "winerror.h" #include "winnls.h"
Gé van Geldorp.