about summary refs log tree commit diff
path: root/nss
diff options
context:
space:
mode:
Diffstat (limited to 'nss')
-rw-r--r--nss/digits_dots.c5
-rw-r--r--nss/nss_files/files-hosts.c11
2 files changed, 3 insertions, 13 deletions
diff --git a/nss/digits_dots.c b/nss/digits_dots.c
index c953fc6ec6..e1baafa843 100644
--- a/nss/digits_dots.c
+++ b/nss/digits_dots.c
@@ -159,7 +159,8 @@
 	    }
 	}
 
-      if (isxdigit (name[0]) || name[0] == ':')
+      if ((isxdigit (name[0]) && strchr (name, ':') != NULL)
+	  || name[0] == ':')
 	{
 	  const char *cp;
 	  char *hostname;
@@ -238,8 +239,6 @@
 		{
 		  if (*--cp == '.')
 		    break;
-		  if (!strchr (name, ':'))
-		    break;
 
 		  /* All-IPv6-legal, no dot at the end. Fake up a
 		     hostent as if we'd actually done a lookup.  */
diff --git a/nss/nss_files/files-hosts.c b/nss/nss_files/files-hosts.c
index d6dd6daea7..f54691eec5 100644
--- a/nss/nss_files/files-hosts.c
+++ b/nss/nss_files/files-hosts.c
@@ -51,8 +51,7 @@ LINE_PARSER
    STRING_FIELD (addr, isspace, 1);
 
    /* Parse address.  */
-   if ((_res.options & RES_USE_INET6)
-       && inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
+   if (inet_pton (AF_INET6, p, entdata->host_addr) > 0)
      {
        result->h_addrtype = AF_INET6;
        result->h_length = IN6ADDRSZ;
@@ -81,14 +80,6 @@ LINE_PARSER
    entdata->h_addr_ptrs[1] = NULL;
    result->h_addr_list = entdata->h_addr_ptrs;
 
-   /* If we need the host entry in IPv6 form change it now.  */
-   if (_res.options & RES_USE_INET6)
-     {
-       char *bufptr = data->linebuffer;
-       int buflen = (char *) data + datalen - bufptr;
-       map_v4v6_hostent (result, &bufptr, &buflen);
-     }
-
    STRING_FIELD (result->h_name, isspace, 1);
  })