Commit 41303be0 authored by Jean-Paul Saman's avatar Jean-Paul Saman
Browse files

Don't use AI_CANONNAME when no node name is given.

parent 022716f4
...@@ -289,7 +289,7 @@ static int WSAAPI ...@@ -289,7 +289,7 @@ static int WSAAPI
getaddrinfo (const char *node, const char *service, getaddrinfo (const char *node, const char *service,
const struct addrinfo *hints, struct addrinfo **res) const struct addrinfo *hints, struct addrinfo **res)
#else #else
static int static int
getaddrinfo (const char *node, const char *service, getaddrinfo (const char *node, const char *service,
const struct addrinfo *hints, struct addrinfo **res) const struct addrinfo *hints, struct addrinfo **res)
#endif #endif
...@@ -558,7 +558,6 @@ int vlc_getnameinfo( const struct sockaddr *sa, int salen, ...@@ -558,7 +558,6 @@ int vlc_getnameinfo( const struct sockaddr *sa, int salen,
return i_val; return i_val;
} }
int vlc_getaddrinfo( vlc_object_t *p_this, const char *node, int vlc_getaddrinfo( vlc_object_t *p_this, const char *node,
int i_port, const struct addrinfo *p_hints, int i_port, const struct addrinfo *p_hints,
struct addrinfo **res ) struct addrinfo **res )
...@@ -581,12 +580,15 @@ int vlc_getaddrinfo( vlc_object_t *p_this, const char *node, ...@@ -581,12 +580,15 @@ int vlc_getaddrinfo( vlc_object_t *p_this, const char *node,
/* Check if we have to force ipv4 or ipv6 */ /* Check if we have to force ipv4 or ipv6 */
memset (&hints, 0, sizeof (hints)); memset (&hints, 0, sizeof (hints));
if (p_hints != NULL) if( p_hints != NULL )
{ {
int ai_flags = AI_NUMERICHOST|AI_PASSIVE;
if( node )
ai_flags |= AI_CANONNAME;
hints.ai_family = p_hints->ai_family; hints.ai_family = p_hints->ai_family;
hints.ai_socktype = p_hints->ai_socktype; hints.ai_socktype = p_hints->ai_socktype;
hints.ai_protocol = p_hints->ai_protocol; hints.ai_protocol = p_hints->ai_protocol;
hints.ai_flags = p_hints->ai_flags & (AI_NUMERICHOST|AI_PASSIVE|AI_CANONNAME); hints.ai_flags = p_hints->ai_flags & (ai_flags);
} }
#ifdef AI_NUMERICSERV #ifdef AI_NUMERICSERV
/* we only ever use port *numbers* */ /* we only ever use port *numbers* */
...@@ -618,6 +620,7 @@ int vlc_getaddrinfo( vlc_object_t *p_this, const char *node, ...@@ -618,6 +620,7 @@ int vlc_getaddrinfo( vlc_object_t *p_this, const char *node,
if( ( node == NULL ) || (node[0] == '\0' ) ) if( ( node == NULL ) || (node[0] == '\0' ) )
{ {
psz_node = NULL; psz_node = NULL;
hints.ai_flags &= ~AI_CANONNAME;
} }
else else
{ {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment