aboutsummaryrefslogtreecommitdiff
path: root/src/udp.c
diff options
context:
space:
mode:
authorMojca Miklavec <mojca.miklavec.lists@gmail.com>2018-03-21 18:02:46 +0100
committerMojca Miklavec <mojca.miklavec.lists@gmail.com>2019-02-26 09:30:15 +0100
commitd9afe3fd9ccf64a0686683f5453937c08611aa28 (patch)
treea5b87fb0745f97dacc632137731e938b53473947 /src/udp.c
parentc0fba03e4fe2a27a3471fa5af290be931f957002 (diff)
downloadluasocket-d9afe3fd9ccf64a0686683f5453937c08611aa28.tar.gz
luasocket-d9afe3fd9ccf64a0686683f5453937c08611aa28.tar.bz2
luasocket-d9afe3fd9ccf64a0686683f5453937c08611aa28.zip
Only use EAI_OVERFLOW, AI_NUMERICSERV if defined
Some systems like Mac OS X 10.5 (and lower) do not have EAI_OVERFLOW and AI_NUMERICSERV defined. These variables are used to avoid a potentially slow name resolution for the hostname (which will always be an ip address) and for service name (which will always be an actual port number). The code might be slower, but it should still work. Closes: #242
Diffstat (limited to 'src/udp.c')
-rw-r--r--src/udp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/udp.c b/src/udp.c
index 99a766f..e59fa1b 100644
--- a/src/udp.c
+++ b/src/udp.c
@@ -188,7 +188,10 @@ static int meth_sendto(lua_State *L) {
188 memset(&aihint, 0, sizeof(aihint)); 188 memset(&aihint, 0, sizeof(aihint));
189 aihint.ai_family = udp->family; 189 aihint.ai_family = udp->family;
190 aihint.ai_socktype = SOCK_DGRAM; 190 aihint.ai_socktype = SOCK_DGRAM;
191 aihint.ai_flags = AI_NUMERICHOST | AI_NUMERICSERV; 191 aihint.ai_flags = AI_NUMERICHOST;
192#ifdef AI_NUMERICSERV
193 aihint.ai_flags |= AI_NUMERICSERV;
194#endif
192 err = getaddrinfo(ip, port, &aihint, &ai); 195 err = getaddrinfo(ip, port, &aihint, &ai);
193 if (err) { 196 if (err) {
194 lua_pushnil(L); 197 lua_pushnil(L);