diff options
author | marha <marha@users.sourceforge.net> | 2010-01-02 14:58:00 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-01-02 14:58:00 +0000 |
commit | e990b127f48882996bc24094cc4fad49d343bfe5 (patch) | |
tree | 5094c4a1556a2fcf0b97c91def10bf6c410a5113 /libxcb | |
parent | 66ef07b684165a09f21069ad7fc3b1105cdb4e10 (diff) | |
download | vcxsrv-e990b127f48882996bc24094cc4fad49d343bfe5.tar.gz vcxsrv-e990b127f48882996bc24094cc4fad49d343bfe5.tar.bz2 vcxsrv-e990b127f48882996bc24094cc4fad49d343bfe5.zip |
Use InitWSA function to intialise winsock.
Diffstat (limited to 'libxcb')
-rw-r--r-- | libxcb/src/xcb_util.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/libxcb/src/xcb_util.c b/libxcb/src/xcb_util.c index 2d23842d7..2980cb8d0 100644 --- a/libxcb/src/xcb_util.c +++ b/libxcb/src/xcb_util.c @@ -221,6 +221,23 @@ static int _xcb_open_decnet(const char *host, const char *protocol, const unsign } #endif +#ifdef WIN32 +int InitWSA(void) +{ + static WSADATA wsadata; + + if (!wsadata.wVersion) + { + ptw32_processInitialize(); + if (WSAStartup(0x0202, &wsadata)) + return -1; + } + return 0; +} +#else +#define InitWSA() +#endif + static int _xcb_open_tcp(char *host, char *protocol, const unsigned short port) { int fd = -1; @@ -254,16 +271,8 @@ static int _xcb_open_tcp(char *host, char *protocol, const unsigned short port) #endif #ifdef WIN32 - { - static WSADATA wsadata; - - if (!wsadata.wVersion) - { - if (WSAStartup(0x0202, &wsadata)) - return -1; - ptw32_processInitialize(); - } - } + if (InitWSA()<0) + return -1; #endif snprintf(service, sizeof(service), "%hu", port); |