mirror of
https://github.com/lunarmodules/luasocket.git
synced 2024-12-26 04:28:20 +01:00
fix(build): Use gai_strerrorA not gai_strerror on Windows
* Explicitly call gai_strerrorA (for Windows builds), so that the code work correctly in 32bit or 64bit builds. * Implement GAI_STRERROR macro to deal with Windows vs. Non-Windows compiles for 64-bit. * make usocket.c consistent with other modules that call macro GAI_STRERROR * Use different name not just different case for macro wrapping function Co-authored-by: Caleb Maclennan <caleb@alerque.com>
This commit is contained in:
parent
d1ad8160cb
commit
5a7e3f0888
4
src/inet.c
Normal file → Executable file
4
src/inet.c
Normal file → Executable file
@ -253,7 +253,7 @@ int inet_meth_getpeername(lua_State *L, p_socket ps, int family)
|
|||||||
port, sizeof(port), NI_NUMERICHOST | NI_NUMERICSERV);
|
port, sizeof(port), NI_NUMERICHOST | NI_NUMERICSERV);
|
||||||
if (err) {
|
if (err) {
|
||||||
lua_pushnil(L);
|
lua_pushnil(L);
|
||||||
lua_pushstring(L, gai_strerror(err));
|
lua_pushstring(L, LUA_GAI_STRERROR(err));
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
lua_pushstring(L, name);
|
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);
|
name, INET6_ADDRSTRLEN, port, 6, NI_NUMERICHOST | NI_NUMERICSERV);
|
||||||
if (err) {
|
if (err) {
|
||||||
lua_pushnil(L);
|
lua_pushnil(L);
|
||||||
lua_pushstring(L, gai_strerror(err));
|
lua_pushstring(L, LUA_GAI_STRERROR(err));
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
lua_pushstring(L, name);
|
lua_pushstring(L, name);
|
||||||
|
2
src/socket.h
Normal file → Executable file
2
src/socket.h
Normal file → Executable file
@ -16,8 +16,10 @@
|
|||||||
\*=========================================================================*/
|
\*=========================================================================*/
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include "wsocket.h"
|
#include "wsocket.h"
|
||||||
|
#define LUA_GAI_STRERROR gai_strerrorA
|
||||||
#else
|
#else
|
||||||
#include "usocket.h"
|
#include "usocket.h"
|
||||||
|
#define LUA_GAI_STRERROR gai_strerror
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*=========================================================================*\
|
/*=========================================================================*\
|
||||||
|
4
src/udp.c
Normal file → Executable file
4
src/udp.c
Normal file → Executable file
@ -191,7 +191,7 @@ static int meth_sendto(lua_State *L) {
|
|||||||
err = getaddrinfo(ip, port, &aihint, &ai);
|
err = getaddrinfo(ip, port, &aihint, &ai);
|
||||||
if (err) {
|
if (err) {
|
||||||
lua_pushnil(L);
|
lua_pushnil(L);
|
||||||
lua_pushstring(L, gai_strerror(err));
|
lua_pushstring(L, LUA_GAI_STRERROR(err));
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -290,7 +290,7 @@ static int meth_receivefrom(lua_State *L) {
|
|||||||
INET6_ADDRSTRLEN, portstr, 6, NI_NUMERICHOST | NI_NUMERICSERV);
|
INET6_ADDRSTRLEN, portstr, 6, NI_NUMERICHOST | NI_NUMERICSERV);
|
||||||
if (err) {
|
if (err) {
|
||||||
lua_pushnil(L);
|
lua_pushnil(L);
|
||||||
lua_pushstring(L, gai_strerror(err));
|
lua_pushstring(L, LUA_GAI_STRERROR(err));
|
||||||
if (wanted > sizeof(buf)) free(dgram);
|
if (wanted > sizeof(buf)) free(dgram);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
@ -449,6 +449,6 @@ const char *socket_gaistrerror(int err) {
|
|||||||
case EAI_SERVICE: return PIE_SERVICE;
|
case EAI_SERVICE: return PIE_SERVICE;
|
||||||
case EAI_SOCKTYPE: return PIE_SOCKTYPE;
|
case EAI_SOCKTYPE: return PIE_SOCKTYPE;
|
||||||
case EAI_SYSTEM: return strerror(errno);
|
case EAI_SYSTEM: return strerror(errno);
|
||||||
default: return gai_strerror(err);
|
default: return LUA_GAI_STRERROR(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -429,6 +429,6 @@ const char *socket_gaistrerror(int err) {
|
|||||||
#ifdef EAI_SYSTEM
|
#ifdef EAI_SYSTEM
|
||||||
case EAI_SYSTEM: return strerror(errno);
|
case EAI_SYSTEM: return strerror(errno);
|
||||||
#endif
|
#endif
|
||||||
default: return gai_strerror(err);
|
default: return LUA_GAI_STRERROR(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user