From bc6d15183c530064b5a06b50527ae06d14003fb0 Mon Sep 17 00:00:00 2001 From: Fabien Costantini Date: Wed, 27 Aug 2008 16:53:39 +0000 Subject: + Added a new optional compile time varaible named USE_WSOCK1 that would change the use of the WINSOCK2 libray by default, by the use of Winsock 1 (also implies the use of winsock.h instead of winsock2.h) + Removed one unused ret variable. TODO: remove unnecessary wsock32.lib dependency from fltk-config, and other win32 build files. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6172 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_win32.cxx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx index 83f9cdba4..c8aa24ae8 100644 --- a/src/Fl_win32.cxx +++ b/src/Fl_win32.cxx @@ -44,7 +44,13 @@ # include # include #else +# if !defined(USE_WSOCK1) +# define WSCK_DLL_NAME "WS2_32.DLL" +# include +#else +# define WSCK_DLL_NAME "WSOCK32.DLL" # include +# endif #endif #include #include @@ -65,11 +71,6 @@ //#define USE_ASYNC_SELECT // dynamic wsock dll handling api: -#if 1 -#define WSCK_DLL_NAME "WS2_32.DLL" -#else -#define WSCK_DLL_NAME "WSOCK32.DLL" -#endif typedef int (WINAPI* fl_wsk_select_f)(int, fd_set*, fd_set*, fd_set*, const struct timeval*); typedef int (WINAPI* fl_wsk_fd_is_set_f)(SOCKET, fd_set *); typedef int (WINAPI* fl_wsk_async_select_f)(SOCKET,HWND,u_int,long); @@ -82,6 +83,10 @@ static fl_wsk_async_select_f fl_wsk_async_select=0; static HMODULE get_wsock_mod() { if (!s_wsock_mod) { s_wsock_mod = LoadLibrary(WSCK_DLL_NAME); + if (s_wsock_mod==NULL){ + fprintf(stderr,"FLTK Lib Error: %s file not found! Please check your winsock dll accessibility.\n",WSCK_DLL_NAME); + exit(1); + } s_wsock_select = (fl_wsk_select_f) GetProcAddress(s_wsock_mod, "select"); fl_wsk_fd_is_set = (fl_wsk_fd_is_set_f) GetProcAddress(s_wsock_mod, "__WSAFDIsSet"); fl_wsk_async_select = (fl_wsk_async_select_f) GetProcAddress(s_wsock_mod, "WSAAsyncSelect"); @@ -273,7 +278,6 @@ int fl_wait(double time_to_wait) { for (int i = 0; i < nfds; i ++) { SOCKET f = fd[i].fd; short revents = 0; - int ret=0; if (fl_wsk_fd_is_set(f, &fdt[0])) revents |= POLLIN; if (fl_wsk_fd_is_set(f, &fdt[1])) revents |= POLLOUT; if (fl_wsk_fd_is_set(f, &fdt[2])) revents |= POLLERR; -- cgit v1.2.3