diff --git a/Source/GSNetwork.h b/Source/GSNetwork.h index fe1c1e058..e2f2cf73c 100644 --- a/Source/GSNetwork.h +++ b/Source/GSNetwork.h @@ -71,7 +71,12 @@ #endif #define SOCKET int /* Socket type */ -#define SOCKLEN(X) (X->sa_len) +#ifdef AF_INET6 +#define SOCKLEN(X) ((X->sa_family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6)) +#else +#define SOCKLEN(X) sizeof(struct sockaddr_in) +#endif +/* #define SOCKLEN(X) (X->sa_len) */ #define BADSOCKET(X) ((X) < 0) #define GSNETERROR errno #define GSWOULDBLOCK (errno == EINPROGRESS)