aboutsummaryrefslogtreecommitdiff
path: root/src/inet.c
diff options
context:
space:
mode:
authormoteus <mimir@newmail.ru>2013-05-27 11:25:31 +0400
committermoteus <mimir@newmail.ru>2013-05-27 11:25:31 +0400
commite54f78c61cac7b0d7fe1e89d337b9ab06f40bdb0 (patch)
treea0e80fdaa6a6ce9fe38964e7fb49a0aa0b64c7c0 /src/inet.c
parent56dbda39ed07faf2c14427797fe104213f734e00 (diff)
downloadluasocket-e54f78c61cac7b0d7fe1e89d337b9ab06f40bdb0.tar.gz
luasocket-e54f78c61cac7b0d7fe1e89d337b9ab06f40bdb0.tar.bz2
luasocket-e54f78c61cac7b0d7fe1e89d337b9ab06f40bdb0.zip
Fix. setsockname fails with "*" as host.
Add. test_bind.lua
Diffstat (limited to 'src/inet.c')
-rw-r--r--src/inet.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/inet.c b/src/inet.c
index b28852b..0469756 100644
--- a/src/inet.c
+++ b/src/inet.c
@@ -478,6 +478,9 @@ const char *inet_trybind(p_socket ps, const char *address, const char *serv,
478 struct addrinfo *iterator = NULL, *resolved = NULL; 478 struct addrinfo *iterator = NULL, *resolved = NULL;
479 const char *err = NULL; 479 const char *err = NULL;
480 t_socket sock = *ps; 480 t_socket sock = *ps;
481 /* translate luasocket special values to C */
482 if (strcmp(address, "*") == 0) address = NULL;
483 if (!serv) serv = "0";
481 /* try resolving */ 484 /* try resolving */
482 err = socket_gaistrerror(getaddrinfo(address, serv, bindhints, &resolved)); 485 err = socket_gaistrerror(getaddrinfo(address, serv, bindhints, &resolved));
483 if (err) { 486 if (err) {