| --- a/src/sock.c |
| +++ b/src/sock.c |
| @@ -39,8 +39,7 @@ |
| * returned if the bind succeeded. Otherwise, -1 is returned |
| * to indicate an error. |
| */ |
| -static int |
| -bind_socket (int sockfd, const char *addr, int family) |
| +static int bind_socket (int sockfd, const char *addr) |
| { |
| struct addrinfo hints, *res, *ressave; |
| |
| @@ -48,7 +47,7 @@ bind_socket (int sockfd, const char *add |
| assert (addr != NULL && strlen (addr) != 0); |
| |
| memset (&hints, 0, sizeof (struct addrinfo)); |
| - hints.ai_family = family; |
| + hints.ai_family = AF_UNSPEC; |
| hints.ai_socktype = SOCK_STREAM; |
| |
| /* The local port it not important */ |
| @@ -112,14 +111,12 @@ int opensock (const char *host, int port |
| |
| /* Bind to the specified address */ |
| if (bind_to) { |
| - if (bind_socket (sockfd, bind_to, |
| - res->ai_family) < 0) { |
| + if (bind_socket (sockfd, bind_to) < 0) { |
| close (sockfd); |
| continue; /* can't bind, so try again */ |
| } |
| } else if (config.bind_address) { |
| - if (bind_socket (sockfd, config.bind_address, |
| - res->ai_family) < 0) { |
| + if (bind_socket (sockfd, config.bind_address) < 0) { |
| close (sockfd); |
| continue; /* can't bind, so try again */ |
| } |