elinks/elinks-0.11.0-getaddrinfo.patch
2006-01-10 09:53:49 +00:00

26 lines
796 B
Diff

--- elinks-0.11.0/src/network/dns.c.getaddrinfo 2006-01-01 17:39:36.000000000 +0100
+++ elinks-0.11.0/src/network/dns.c 2006-01-10 09:30:56.000000000 +0100
@@ -156,9 +156,21 @@
* But we duplicate the code terribly here :|. */
/* hostent = getipnodebyname(name, AF_INET6, AI_ALL | AI_ADDRCONFIG, NULL); */
memset(&hint, 0, sizeof(hint));
+ hint.ai_flags = AI_ADDRCONFIG;
hint.ai_family = AF_UNSPEC;
hint.ai_socktype = SOCK_STREAM;
- if (getaddrinfo(name, NULL, &hint, &ai) != 0) return -1;
+ switch (getaddrinfo(name, NULL, &hint, &ai))
+ {
+ case 0:
+ break;
+ case EAI_BADFLAGS:
+ hint.ai_flags = 0;
+ if (getaddrinfo(name, NULL, &hint, &ai) == 0)
+ break;
+ /* fall through */
+ default:
+ return -1;
+ }
#else
/* Seems there are problems on Mac, so we first need to try