diff options
Diffstat (limited to 'client/libacron/acronc/main.c')
-rw-r--r-- | client/libacron/acronc/main.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/client/libacron/acronc/main.c b/client/libacron/acronc/main.c index ef3bb38..21958fd 100644 --- a/client/libacron/acronc/main.c +++ b/client/libacron/acronc/main.c @@ -5,7 +5,10 @@ #include "libac.h" #include <stdio.h> -#include <unistd.h> +#ifdef WIN32 +#include <winsock2.h> +#include <windef.h> +#endif static const char *world_name(const enum ac_world world) { switch (world) { @@ -120,6 +123,20 @@ static void handle_response(const ac_response_t *response) { int main(int argc, char **argv) { int r; +#ifdef WIN32 + WORD wVersionRequested; + WSADATA wsaData; + wVersionRequested = MAKEWORD(2, 2); + if ((r = WSAStartup(wVersionRequested, &wsaData))) { + fprintf(stderr, "WSAStartup failed with error: %d\n", r); + return r; + } + if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { + fprintf(stderr, "Could not find a usable version of Winsock.dll\n"); + WSACleanup(); + return 1; + } +#endif libac_config_t config = { #ifdef DEBUG .out = stderr, @@ -165,5 +182,8 @@ int main(int argc, char **argv) { } ac_disconnect(connection); ac_free(); +#ifdef WIN32 + WSACleanup(); +#endif return r; }
\ No newline at end of file |