Mercurial > vim
changeset 33620:6733c5359e8a v9.0.2052
patch 9.0.2052: win32: using deprecated wsock32 api
Commit: https://github.com/vim/vim/commit/c6944913f0aa56cdfd9ad7464ab05d2815d9d815
Author: Ken Takata <kentkt@csc.jp>
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 <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 19 Oct 2023 17:30:07 +0200 |
parents | b8b93fef9f60 |
children | 36ddcf6b516a |
files | src/Make_cyg_ming.mak src/Make_mvc.mak src/channel.c src/if_perl.xs src/os_win32.h src/version.c |
diffstat | 6 files changed, 8 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- 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)
--- 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()
--- 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 <winsock2.h> -# include <ws2tcpip.h> -#endif - #include "vim.h" #if defined(FEAT_JOB_CHANNEL) || defined(PROTO)
--- 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
--- 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 <winsock2.h> +# include <ws2tcpip.h> # include <windows.h> // Weird: rpcndr.h defines "small" to "char", which causes trouble