From 4681f435969ca9806da160d3ae564668ddfecfe2 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 16 May 2008 22:02:44 +0000 Subject: Updated to fedora-glibc-20080516T2152 --- sysdeps/posix/getaddrinfo.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sysdeps/posix/getaddrinfo.c') diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 8908fc10c3..2515d23c26 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -729,7 +729,8 @@ gaih_inet (const char *name, const struct gaih_service *service, if (status == NSS_STATUS_SUCCESS) { - canon = (*pat)->name; + if ((req->ai_flags & AI_CANONNAME) != 0 && canon == NULL) + canon = (*pat)->name; while (*pat != NULL) pat = &((*pat)->next); @@ -953,7 +954,7 @@ gaih_inet (const char *name, const struct gaih_service *service, return -EAI_IDN_ENCODE; } /* In case the output string is the same as the input - string no new string has been allocated. Otherwise + string no new string has been allocated and we make a copy. */ if (out == canon) goto make_copy; -- cgit v1.2.3