diff options
Diffstat (limited to 'src/udp.c')
-rw-r--r-- | src/udp.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -175,14 +175,15 @@ static int meth_sendto(lua_State *L) { | |||
175 | aihint.ai_family = udp->family; | 175 | aihint.ai_family = udp->family; |
176 | aihint.ai_socktype = SOCK_DGRAM; | 176 | aihint.ai_socktype = SOCK_DGRAM; |
177 | aihint.ai_flags = AI_NUMERICHOST | AI_NUMERICSERV; | 177 | aihint.ai_flags = AI_NUMERICHOST | AI_NUMERICSERV; |
178 | if ((err = getaddrinfo(ip, port, &aihint, &ai))) { | 178 | err = getaddrinfo(ip, port, &aihint, &ai); |
179 | if (err) { | ||
179 | lua_pushnil(L); | 180 | lua_pushnil(L); |
180 | lua_pushstring(L, udp_strerror(err)); | 181 | lua_pushstring(L, gai_strerror(err)); |
181 | return 2; | 182 | return 2; |
182 | } | 183 | } |
183 | timeout_markstart(tm); | 184 | timeout_markstart(tm); |
184 | err = socket_sendto(&udp->sock, data, count, &sent, ai->ai_addr, | 185 | err = socket_sendto(&udp->sock, data, count, &sent, ai->ai_addr, |
185 | ai->ai_addrlen, tm); | 186 | (socklen_t) ai->ai_addrlen, tm); |
186 | freeaddrinfo(ai); | 187 | freeaddrinfo(ai); |
187 | if (err != IO_DONE) { | 188 | if (err != IO_DONE) { |
188 | lua_pushnil(L); | 189 | lua_pushnil(L); |
@@ -243,8 +244,9 @@ static int meth_receivefrom(lua_State *L) | |||
243 | lua_pushstring(L, udp_strerror(err)); | 244 | lua_pushstring(L, udp_strerror(err)); |
244 | return 2; | 245 | return 2; |
245 | } | 246 | } |
246 | if ((err = getnameinfo((struct sockaddr *)&addr, addr_len, addrstr, | 247 | err = getnameinfo((struct sockaddr *)&addr, addr_len, addrstr, |
247 | INET6_ADDRSTRLEN, portstr, 6, NI_NUMERICHOST | NI_NUMERICSERV))) { | 248 | INET6_ADDRSTRLEN, portstr, 6, NI_NUMERICHOST | NI_NUMERICSERV); |
249 | if (err) { | ||
248 | lua_pushnil(L); | 250 | lua_pushnil(L); |
249 | lua_pushstring(L, gai_strerror(err)); | 251 | lua_pushstring(L, gai_strerror(err)); |
250 | return 2; | 252 | return 2; |