On Tue, 2007-09-18 at 10:44 +0200, Hans-Christian Egtvedt wrote: > This patch will fix a problem when the same host is defined with both IPv4 and > IPv6 entries in /etc/hosts. Previous only the first of these host would work, > as uClibc would read the /etc/hosts file from top to bottom, failing if the > first hit did not match the IP type. > > Now uClibc will continue reading, even if the first correct entry name, but > wrong IP > type fails. Thus, allowing a second correct entry name with correct IP type > will result in a name resolve.
Bump Are there any comments to this patch? > Signed-off-by: Hans-Christian Egtvedt <[EMAIL PROTECTED]> > --- > libc/inet/resolv.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c > index f4e6cac..9cdc3fe 100644 > --- a/libc/inet/resolv.c > +++ b/libc/inet/resolv.c > @@ -1643,7 +1643,7 @@ int attribute_hidden __read_etc_hosts_r(FILE * fp, > const char * name, int type, > *result=result_buf; > ret=NETDB_SUCCESS; > #ifdef __UCLIBC_HAS_IPV6__ > - } else if (type == AF_INET6 && inet_pton(AF_INET6, alias[0], in6) > > 0) { > + } else if (type == AF_INET6 && inet_pton(AF_INET6, alias[0], > in6) > 0) { > DPRINTF("Found INET6\n"); > addr_list6[0] = in6; > addr_list6[1] = 0; > @@ -1658,8 +1658,8 @@ int attribute_hidden __read_etc_hosts_r(FILE * fp, > const char * name, int type, > } else { > DPRINTF("Error\n"); > ret=TRY_AGAIN; > - break; /* bad ip address */ > - } > + continue; /* bad ip address, keep searching */ > + } > > if (action!=GETHOSTENT) { > fclose(fp); -- With kind regards, Hans-Christian Egtvedt, Applications Engineer _______________________________________________ uClibc mailing list uClibc@uclibc.org http://busybox.net/cgi-bin/mailman/listinfo/uclibc