about summary refs log tree commit diff
path: root/sysdeps/posix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-08-19 18:56:52 +0000
committerUlrich Drepper <drepper@redhat.com>2004-08-19 18:56:52 +0000
commit10b71c3d31c7a4fe437fdda6b5730479414e935a (patch)
tree3d509f8c0f00244f4025f2571a72261f3b1072b2 /sysdeps/posix
parentb6c0f679b1f8f918bbee34e2a8000dac0b9277dc (diff)
downloadglibc-10b71c3d31c7a4fe437fdda6b5730479414e935a.tar.gz
glibc-10b71c3d31c7a4fe437fdda6b5730479414e935a.tar.xz
glibc-10b71c3d31c7a4fe437fdda6b5730479414e935a.zip
Update.
2004-08-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *)
	to avoid warning.

	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize
	status to NSS_STATUS_UNAVAIL.

2004-08-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the
	cannoname lookup since it has the FQDN even if the original NAME
	value has not.
Diffstat (limited to 'sysdeps/posix')
-rw-r--r--sysdeps/posix/getaddrinfo.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index d72457af10..2d89b4ad5f 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -576,7 +576,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
 
       if (at->family == AF_UNSPEC && (req->ai_flags & AI_NUMERICHOST) == 0)
 	{
-	  struct hostent *h;
+	  struct hostent *h = NULL;
 	  struct gaih_addrtuple **pat = &at;
 	  int no_data = 0;
 	  int no_inet6_data = 0;
@@ -656,8 +656,9 @@ gaih_inet (const char *name, const struct gaih_service *service,
 			  char *buf = alloca (max_fqdn_len);
 			  char *s;
 
-			  if (DL_CALL_FCT (cfct, (name, buf, max_fqdn_len,
-						  &s, &rc, &herrno))
+			  if (DL_CALL_FCT (cfct, (h->h_name ?: name, buf,
+						  max_fqdn_len, &s, &rc,
+						  &herrno))
 			      == NSS_STATUS_SUCCESS)
 			    canon = s;
 			  else
@@ -856,7 +857,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
 	    (*pai)->ai_addr = (void *) (*pai + 1);
 
 	    /* We only add the canonical name once.  */
-	    (*pai)->ai_canonname = canon;
+	    (*pai)->ai_canonname = (char *) canon;
 	    canon = NULL;
 
 #if SALEN