# HG changeset patch # User Christian Brabandt # Date 1697729407 -7200 # Node ID 6733c5359e8a628d6deec82cd9771f4bfd37a3da # Parent b8b93fef9f606aee1d27769c8b39df674c02398b patch 9.0.2052: win32: using deprecated wsock32 api Commit: https://github.com/vim/vim/commit/c6944913f0aa56cdfd9ad7464ab05d2815d9d815 Author: Ken Takata Date: Thu Oct 19 17:22:24 2023 +0200 patch 9.0.2052: win32: using deprecated wsock32 api Problem: win32: using deprecated wsock32 api Solution: Use winsock2 (ws2_32) consistently win32: Stop using wsock32 We have already used ws2_32 (winsock2) and already dropped support for Windows 95 and NT4. So, we don't need to care about wsock32. Use ws2_32 consistently. closes: #13383 Signed-off-by: Christian Brabandt Co-authored-by: Ken Takata diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak --- a/src/Make_cyg_ming.mak +++ b/src/Make_cyg_ming.mak @@ -923,7 +923,7 @@ endif ifeq ($(CHANNEL),yes) OBJ += $(OUTDIR)/job.o $(OUTDIR)/channel.o -LIB += -lwsock32 -lws2_32 +LIB += -lws2_32 endif ifeq ($(DIRECTX),yes) diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -420,7 +420,6 @@ NBDEBUG_DEFS = -DNBDEBUG NBDEBUG_INCL = nbdebug.h NBDEBUG_SRC = nbdebug.c ! endif -NETBEANS_LIB = WSock32.lib ! endif # DirectWrite (DirectX) @@ -473,7 +472,7 @@ CHANNEL_PRO = proto/job.pro proto/channe CHANNEL_OBJ = $(OBJDIR)/job.obj $(OBJDIR)/channel.obj CHANNEL_DEFS = -DFEAT_JOB_CHANNEL -DFEAT_IPV6 -DHAVE_INET_NTOP -NETBEANS_LIB = WSock32.lib Ws2_32.lib +NETBEANS_LIB = Ws2_32.lib !endif # need advapi32.lib for GetUserName() diff --git a/src/channel.c b/src/channel.c --- a/src/channel.c +++ b/src/channel.c @@ -10,13 +10,6 @@ * Implements communication through a socket or any file handle. */ -#ifdef WIN32 -// Must include winsock2.h before windows.h since it conflicts with winsock.h -// (included in windows.h). -# include -# include -#endif - #include "vim.h" #if defined(FEAT_JOB_CHANNEL) || defined(PROTO) diff --git a/src/if_perl.xs b/src/if_perl.xs --- a/src/if_perl.xs +++ b/src/if_perl.xs @@ -24,17 +24,6 @@ # define _USE_32BIT_TIME_T #endif -/* - * Prevent including winsock.h. perl.h tries to detect whether winsock.h is - * already included before including winsock2.h, because winsock2.h isn't - * compatible with winsock.h. However the detection doesn't work with some - * versions of MinGW. If WIN32_LEAN_AND_MEAN is defined, windows.h will not - * include winsock.h. - */ -#ifdef WIN32 -# define WIN32_LEAN_AND_MEAN -#endif - #include "vim.h" #ifdef _MSC_VER diff --git a/src/os_win32.h b/src/os_win32.h --- a/src/os_win32.h +++ b/src/os_win32.h @@ -85,6 +85,10 @@ # define COBJMACROS // For OLE: Enable "friendlier" access to objects #endif #ifndef PROTO +// Must include winsock2.h before windows.h since it conflicts with winsock.h +// (included in windows.h). +# include +# include # include // Weird: rpcndr.h defines "small" to "char", which causes trouble diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2052, +/**/ 2051, /**/ 2050,