]> granicus.if.org Git - curl/commitdiff
sockfilt.c: fix some W64 compiler warnings
authorYang Tse <yangsita@gmail.com>
Wed, 9 Jan 2013 12:03:53 +0000 (13:03 +0100)
committerYang Tse <yangsita@gmail.com>
Wed, 9 Jan 2013 21:23:49 +0000 (22:23 +0100)
lib/warnless.c
lib/warnless.h
tests/server/sockfilt.c

index b1eaa96ea133258af4150a57d5c6006bf4a02781..7a4b01eb6daba5f7cbb848af645c7fbbebd1cd9a 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -378,6 +378,28 @@ size_t curlx_sitouz(int sinum)
 #endif
 }
 
+#ifdef USE_WINSOCK
+
+/*
+** curl_socket_t to signed int
+*/
+
+int curlx_sktosi(curl_socket_t s)
+{
+  return (int)((ssize_t) s);
+}
+
+/*
+** signed int to curl_socket_t
+*/
+
+curl_socket_t curlx_sitosk(int i)
+{
+  return (curl_socket_t)((ssize_t) i);
+}
+
+#endif /* USE_WINSOCK */
+
 #if defined(__INTEL_COMPILER) && defined(__unix__)
 
 int curlx_FD_ISSET(int fd, fd_set *fdset)
index 9d690d62c8f3bd600f20ac9c5ac02fc0351f1f94..f22f0bae4fef2917d4f575e1ca7db7ed2574818d 100644 (file)
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
  *
  ***************************************************************************/
 
+#ifdef USE_WINSOCK
+#include <curl/curl.h> /* for curl_socket_t */
+#endif
+
 unsigned short curlx_ultous(unsigned long ulnum);
 
 unsigned char curlx_ultouc(unsigned long ulnum);
@@ -48,6 +52,14 @@ int curlx_sztosi(ssize_t sznum);
 
 size_t curlx_sitouz(int sinum);
 
+#ifdef USE_WINSOCK
+
+int curlx_sktosi(curl_socket_t s);
+
+curl_socket_t curlx_sitosk(int i);
+
+#endif /* USE_WINSOCK */
+
 #if defined(__INTEL_COMPILER) && defined(__unix__)
 
 int curlx_FD_ISSET(int fd, fd_set *fdset);
index a2c0d4446208f34f28a06ad2e468c59077377b6e..44d2a016764bc0a6169b6914527054fb5be988b2 100644 (file)
 #include "inet_pton.h"
 #include "util.h"
 #include "server_sockaddr.h"
+#include "warnless.h"
 
 /* include memdebug.h last */
 #include "memdebug.h"
@@ -488,7 +489,7 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
 
     /* only wait for events for which we actually care */
     if(networkevents) {
-      fdarr[nfd] = (curl_socket_t) LongToHandle(fds);
+      fdarr[nfd] = curlx_sitosk(fds);
       if(fds == fileno(stdin)) {
         handles[nfd] = GetStdHandle(STD_INPUT_HANDLE);
       }
@@ -504,12 +505,12 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
           error = WSAEventSelect(fds, wsaevent, networkevents);
           if(error != SOCKET_ERROR) {
             handles[nfd] = wsaevent;
-            wsasocks[wsa] = (curl_socket_t) LongToHandle(fds);
+            wsasocks[wsa] = curlx_sitosk(fds);
             wsaevents[wsa] = wsaevent;
             wsa++;
           }
           else {
-            handles[nfd] = LongToHandle(fds);
+            handles[nfd] = (HANDLE) curlx_sitosk(fds);
             WSACloseEvent(wsaevent);
           }
         }
@@ -533,7 +534,7 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
   for(idx = 0; idx < nfd; idx++) {
     handle = handles[idx];
     sock = fdarr[idx];
-    fds = HandleToLong(sock);
+    fds = curlx_sktosi(sock);
 
     /* check if the current internal handle was triggered */
     if(wait != WAIT_FAILED && (wait - WAIT_OBJECT_0) >= idx &&