Implement GAI_STRERROR macro to deal with Windows vs. Non-Windows compiles for 64-bit.

This commit is contained in:
Robert Patterson 2021-10-11 09:30:14 -05:00
parent df9f01f527
commit cef7b6a9c1
4 changed files with 7 additions and 5 deletions

View file

@ -253,7 +253,7 @@ int inet_meth_getpeername(lua_State *L, p_socket ps, int family)
port, sizeof(port), NI_NUMERICHOST | NI_NUMERICSERV);
if (err) {
lua_pushnil(L);
lua_pushstring(L, gai_strerrorA(err));
lua_pushstring(L, GAI_STRERROR(err));
return 2;
}
lua_pushstring(L, name);
@ -286,7 +286,7 @@ int inet_meth_getsockname(lua_State *L, p_socket ps, int family)
name, INET6_ADDRSTRLEN, port, 6, NI_NUMERICHOST | NI_NUMERICSERV);
if (err) {
lua_pushnil(L);
lua_pushstring(L, gai_strerrorA(err));
lua_pushstring(L, GAI_STRERROR(err));
return 2;
}
lua_pushstring(L, name);

2
src/socket.h Normal file → Executable file
View file

@ -16,8 +16,10 @@
\*=========================================================================*/
#ifdef _WIN32
#include "wsocket.h"
#define GAI_STRERROR gai_strerrorA
#else
#include "usocket.h"
#define GAI_STRERROR gai_strerror
#endif
/*=========================================================================*\

View file

@ -191,7 +191,7 @@ static int meth_sendto(lua_State *L) {
err = getaddrinfo(ip, port, &aihint, &ai);
if (err) {
lua_pushnil(L);
lua_pushstring(L, gai_strerrorA(err));
lua_pushstring(L, GAI_STRERROR(err));
return 2;
}
@ -290,7 +290,7 @@ static int meth_receivefrom(lua_State *L) {
INET6_ADDRSTRLEN, portstr, 6, NI_NUMERICHOST | NI_NUMERICSERV);
if (err) {
lua_pushnil(L);
lua_pushstring(L, gai_strerrorA(err));
lua_pushstring(L, GAI_STRERROR(err));
if (wanted > sizeof(buf)) free(dgram);
return 2;
}

View file

@ -429,6 +429,6 @@ const char *socket_gaistrerror(int err) {
#ifdef EAI_SYSTEM
case EAI_SYSTEM: return strerror(errno);
#endif
default: return gai_strerrorA(err);
default: return GAI_STRERROR(err);
}
}