Mercurial > vim
diff src/os_mswin.c @ 7797:0d46cea25641 v7.4.1195
commit https://github.com/vim/vim/commit/f12d983deab06b0408781d7a6c2f8970d765b723
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jan 29 21:11:25 2016 +0100
patch 7.4.1195
Problem: The channel feature does not work in the MS-Windows console.
Solution: Add win32 console support. (Yasuhiro Matsumoto)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 29 Jan 2016 21:15:05 +0100 |
parents | 6069f43cea4e |
children | c079097365f3 |
line wrap: on
line diff
--- a/src/os_mswin.c +++ b/src/os_mswin.c @@ -161,7 +161,9 @@ extern HWND s_hwnd; static HWND s_hwnd = 0; /* console window handle, set by GetConsoleHwnd() */ #endif -extern int WSInitialized; +#ifdef FEAT_CHANNEL +int WSInitialized = FALSE; /* WinSock is initialized */ +#endif /* Don't generate prototypes here, because some systems do have these * functions. */ @@ -3093,3 +3095,22 @@ theend: } #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */ + +#if defined(FEAT_CHANNEL) || defined(PROTO) +/* + * Initialize the Winsock dll. + */ + void +channel_init_winsock() +{ + WSADATA wsaData; + int wsaerr; + + if (WSInitialized) + return; + + wsaerr = WSAStartup(MAKEWORD(2, 2), &wsaData); + if (wsaerr == 0) + WSInitialized = TRUE; +} +#endif