diff options
| author | moteus <mimir@newmail.ru> | 2013-05-27 11:25:31 +0400 |
|---|---|---|
| committer | moteus <mimir@newmail.ru> | 2013-05-27 11:25:31 +0400 |
| commit | e54f78c61cac7b0d7fe1e89d337b9ab06f40bdb0 (patch) | |
| tree | a0e80fdaa6a6ce9fe38964e7fb49a0aa0b64c7c0 /src/inet.c | |
| parent | 56dbda39ed07faf2c14427797fe104213f734e00 (diff) | |
| download | luasocket-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.c | 3 |
1 files changed, 3 insertions, 0 deletions
| @@ -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) { |
