diff --git a/unix.c b/unix.c index cfd212e..19585d3 100644 --- a/unix.c +++ b/unix.c @@ -278,7 +278,10 @@ enet_socket_get_option (ENetSocket socket, ENetSocketOption option, int * value) switch (option) { case ENET_SOCKOPT_ERROR: - result = setsockopt (socket, SOL_SOCKET, SO_ERROR, (char *) value, sizeof (int)); + result = getsockopt (socket, SOL_SOCKET, SO_ERROR, (char *) value, sizeof (int)); + break; + + default: break; } return result == -1 ? -1 : 0; diff --git a/win32.c b/win32.c index 1950da9..13d9314 100644 --- a/win32.c +++ b/win32.c @@ -208,7 +208,10 @@ enet_socket_get_option (ENetSocket socket, ENetSocketOption option, int * value) switch (option) { case ENET_SOCKOPT_ERROR: - result = setsockopt (socket, SOL_SOCKET, SO_ERROR, (char *) value, sizeof (int)); + result = getsockopt (socket, SOL_SOCKET, SO_ERROR, (char *) value, sizeof (int)); + break; + + default: break; } return result == SOCKET_ERROR ? -1 : 0;