Explorar o código

Use a unsigned long for ioctlsocket on Windows

Stéphane Raimbault %!s(int64=12) %!d(string=hai) anos
pai
achega
f720851a18
Modificáronse 1 ficheiros con 5 adicións e 2 borrados
  1. 5 2
      src/modbus-tcp.c

+ 5 - 2
src/modbus-tcp.c

@@ -226,8 +226,11 @@ static int _modbus_tcp_set_ipv4_options(int s)
     option = 1;
 #if !defined(SOCK_NONBLOCK) && defined(FIONBIO)
 #ifdef OS_WIN32
-    /* Setting FIONBIO expects an unsigned long according to MSDN */
-    ioctlsocket(s, FIONBIO, &option);
+    {
+        /* Setting FIONBIO expects an unsigned long according to MSDN */
+        u_long loption = 1;
+        ioctlsocket(s, FIONBIO, &loption);
+    }
 #else
     ioctl(s, FIONBIO, &option);
 #endif