fix ipv6 host name lookup from /etc/hosts
[openwrt-10.03/.git] / toolchain / uClibc / patches / inet6_hosts_resolve.patch
1 diff -urN uClibc-0.9.27.old/libc/inet/resolv.c uClibc-0.9.27/libc/inet/resolv.c
2 --- uClibc-0.9.27.old/libc/inet/resolv.c        2005-01-12 08:59:21.000000000 +0100
3 +++ uClibc-0.9.27/libc/inet/resolv.c    2005-04-04 22:14:38.000000000 +0200
4 @@ -2029,7 +2029,7 @@
5                 int old_errno = errno;  /* Save the old errno and reset errno */
6                 __set_errno(0);                 /* to check for missing /etc/hosts. */
7  
8 -               if ((i=__get_hosts_byname_r(name, AF_INET, result_buf,
9 +               if ((i=__get_hosts_byname_r(name, AF_INET6, result_buf,
10                                                                         buf, buflen, result, h_errnop))==0)
11                         return i;
12                 switch (*h_errnop) {
13 diff -urN uClibc-0.9.27.old/libc/inet/resolv.c uClibc-0.9.27/libc/inet/resolv.c
14 --- uClibc-0.9.27.old/libc/inet/resolv.c        2005-04-04 22:16:54.000000000 +0200
15 +++ uClibc-0.9.27/libc/inet/resolv.c    2005-04-04 22:46:59.000000000 +0200
16 @@ -1513,7 +1513,7 @@
17                 } else {
18                         DPRINTF("Error\n");
19                         ret=TRY_AGAIN;
20 -                       break; /* bad ip address */
21 +                       continue; /* bad ip address, ignore */
22          }
23          
24                 if (action!=GETHOSTENT) {