tcp: Pass NULL as hostname to getaddrinfo if the string is empty

This gives you the proper v4 or v6 version of the "any address",
allowing receiving connections on any address on the machine.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Jordi Ortiz 2012-06-26 19:22:21 +02:00 committed by Martin Storsjö
parent 58f3e09ee4
commit ef882e464a
1 changed files with 4 additions and 1 deletions

View File

@ -65,7 +65,10 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
snprintf(portstr, sizeof(portstr), "%d", port); snprintf(portstr, sizeof(portstr), "%d", port);
if (listen_socket) if (listen_socket)
hints.ai_flags |= AI_PASSIVE; hints.ai_flags |= AI_PASSIVE;
ret = getaddrinfo(hostname, portstr, &hints, &ai); if (!hostname[0])
ret = getaddrinfo(NULL, portstr, &hints, &ai);
else
ret = getaddrinfo(hostname, portstr, &hints, &ai);
if (ret) { if (ret) {
av_log(h, AV_LOG_ERROR, av_log(h, AV_LOG_ERROR,
"Failed to resolve hostname %s: %s\n", "Failed to resolve hostname %s: %s\n",