فهرست منبع

more ENET_SOCKOPT_ERROR fixes

Lee Salzman 11 سال پیش
والد
کامیت
c0713c47e6
2فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 3 1
      unix.c
  2. 3 2
      win32.c

+ 3 - 1
unix.c

@@ -275,10 +275,12 @@ int
 enet_socket_get_option (ENetSocket socket, ENetSocketOption option, int * value)
 {
     int result = -1;
+    socklen_t len;
     switch (option)
     {
         case ENET_SOCKOPT_ERROR:
-            result = getsockopt (socket, SOL_SOCKET, SO_ERROR, (char *) value, sizeof (int));
+            len = sizeof (int);
+            result = getsockopt (socket, SOL_SOCKET, SO_ERROR, value, & len);
             break;
 
         default:

+ 3 - 2
win32.c

@@ -204,11 +204,12 @@ enet_socket_set_option (ENetSocket socket, ENetSocketOption option, int value)
 int
 enet_socket_get_option (ENetSocket socket, ENetSocketOption option, int * value)
 {
-    int result = SOCKET_ERROR;
+    int result = SOCKET_ERROR, len;
     switch (option)
     {
         case ENET_SOCKOPT_ERROR:
-            result = getsockopt (socket, SOL_SOCKET, SO_ERROR, (char *) value, sizeof (int));
+            len = sizeof(int);
+            result = getsockopt (socket, SOL_SOCKET, SO_ERROR, (char *) value, & len);
             break;
 
         default: