aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/inet.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/inet.c b/src/inet.c
index 5bc6364..b28852b 100644
--- a/src/inet.c
+++ b/src/inet.c
@@ -176,9 +176,24 @@ static int inet_global_getaddrinfo(lua_State *L)
176 } 176 }
177 lua_newtable(L); 177 lua_newtable(L);
178 for (iterator = resolved; iterator; iterator = iterator->ai_next) { 178 for (iterator = resolved; iterator; iterator = iterator->ai_next) {
179 char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV]; 179 char hbuf[NI_MAXHOST]
180 getnameinfo(iterator->ai_addr, (socklen_t) iterator->ai_addrlen, hbuf, 180#ifndef _WINDOWS
181 (socklen_t) sizeof(hbuf), sbuf, 0, NI_NUMERICHOST); 181 ,sbuf[NI_MAXSERV]
182#endif
183 ;
184 ret = getnameinfo(iterator->ai_addr, (socklen_t) iterator->ai_addrlen, hbuf,
185 (socklen_t) sizeof(hbuf),
186#ifdef _WINDOWS
187 NULL, 0,
188#else
189 sbuf, 0,
190#endif
191 NI_NUMERICHOST);
192 if(ret){
193 lua_pushnil(L);
194 lua_pushstring(L, socket_gaistrerror(ret));
195 return 2;
196 }
182 lua_pushnumber(L, i); 197 lua_pushnumber(L, i);
183 lua_newtable(L); 198 lua_newtable(L);
184 switch (iterator->ai_family) { 199 switch (iterator->ai_family) {