[PATCH 1/4] include: Always define u_* types in winsock.h.

Zebediah Figura z.figura12 at gmail.com
Sun Apr 25 15:39:04 CDT 2021


All modules either build with msvcrt headers or define USE_WS_PREFIX now.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 include/msvcrt/sys/types.h |  8 --------
 include/winsock.h          | 21 +++++----------------
 2 files changed, 5 insertions(+), 24 deletions(-)

diff --git a/include/msvcrt/sys/types.h b/include/msvcrt/sys/types.h
index b44aa386d44..47af7752a5d 100644
--- a/include/msvcrt/sys/types.h
+++ b/include/msvcrt/sys/types.h
@@ -46,14 +46,6 @@ typedef int _off_t;
 #define _OFF_T_DEFINED
 #endif
 
-#ifndef _BSDTYPES_DEFINED
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int  u_int;
-typedef __msvcrt_ulong u_long;
-#define _BSDTYPES_DEFINED
-#endif
-
 #define dev_t _dev_t
 #define ino_t _ino_t
 #define mode_t _mode_t
diff --git a/include/winsock.h b/include/winsock.h
index cafac1a1723..1d33d573329 100644
--- a/include/winsock.h
+++ b/include/winsock.h
@@ -114,28 +114,17 @@
 
 #include <inaddr.h>
 
-#ifdef USE_WS_PREFIX
-typedef unsigned char  WS_u_char;
-typedef unsigned short WS_u_short;
-typedef unsigned int   WS_u_int;
-typedef ULONG          WS_u_long;
-#elif (defined(_MSC_VER) || defined(__MINGW32__) || defined(__WATCOMC__)) && !defined(_BSDTYPES_DEFINED)
-/* MinGW doesn't define the u_xxx types */
-typedef unsigned char  u_char;
-typedef unsigned short u_short;
-typedef unsigned int   u_int;
-typedef ULONG          u_long;
-#define _BSDTYPES_DEFINED
-#else
-#define u_long ULONG  /* make sure we don't use the system u_long */
-#endif
-
 #ifdef USE_WS_PREFIX
 # define WS(x)    WS_##x
 #else
 # define WS(x)    x
 #endif
 
+typedef unsigned char  WS(u_char);
+typedef unsigned short WS(u_short);
+typedef unsigned int   WS(u_int);
+typedef ULONG          WS(u_long);
+
 #ifdef __cplusplus
 extern "C" {
 #endif /* defined(__cplusplus) */
-- 
2.30.2




More information about the wine-devel mailing list