diff options
Diffstat (limited to 'libc')
-rw-r--r-- | libc/inet/resolv.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c index 749c647fc..7f9d7d536 100644 --- a/libc/inet/resolv.c +++ b/libc/inet/resolv.c @@ -1650,9 +1650,15 @@ int attribute_hidden __read_etc_hosts_r(FILE * fp, const char * name, int type, ret = NETDB_SUCCESS; #endif /* __UCLIBC_HAS_IPV6__ */ } else { - DPRINTF("Error\n"); + /* continue parsing in the hope the user has multiple + * host types listed in the database like so: + * <ipv4 addr> host + * <ipv6 addr> host + * If looking for an IPv6 addr, don't bail when we got the IPv4 + */ + DPRINTF("Error: Found host but diff network type\n"); ret = TRY_AGAIN; - break; /* bad ip address */ + continue; } if (action != GETHOSTENT) |