diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-06-28 13:52:19 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2011-06-28 13:52:19 +0200 |
commit | 1bb5fe47df5dc69bea6a219e5dff62ec7db88036 (patch) | |
tree | 84c0da9d6de3b71c2c4e9bebd1f1b0318cec0ec1 | |
parent | 18e76460b67080f19576f358a62d0f1d8a7a0d1f (diff) | |
parent | 96147940d8ffb63efdf84a7f2608eec742df8c61 (diff) | |
download | glibc-1bb5fe47df5dc69bea6a219e5dff62ec7db88036.tar.gz glibc-1bb5fe47df5dc69bea6a219e5dff62ec7db88036.tar.xz glibc-1bb5fe47df5dc69bea6a219e5dff62ec7db88036.zip |
Merge remote-tracking branch 'origin/release/2.14/master' into fedora/2.14/master
-rw-r--r-- | ChangeLog | 19 | ||||
-rw-r--r-- | iconvdata/gb18030.c | 12 | ||||
-rw-r--r-- | sysdeps/posix/getaddrinfo.c | 28 |
3 files changed, 32 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog index 59f059afa6..19e0f0022c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,21 @@ -2011-06-21 Andreas Schwab <schwab@redhat.com> +2011-06-27 Andreas Schwab <schwab@redhat.com> - * iconvdata/gb18030.c: Regenerate tables. + * iconvdata/gb18030.c (BODY for TO_LOOP): Fix encoding of non-BMP + two-byte characters. + +2011-06-22 Andreas Schwab <schwab@redhat.com> + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix last change. -2011-06-16 Andreas Schwab <schwab@redhat.com> +2011-06-21 Ulrich Drepper <drepper@gmail.com> [BZ #12885] - * sysdeps/posix/getaddrinfo.c (gaih_inet): Filter results from - gethostbyname4_r according to request flags. + * sysdeps/posix/getaddrinfo.c (gaih_inet): When looking up only IPv6 + addresses using gethostbyname4_r ignore IPv4 addresses. + +2011-06-21 Andreas Schwab <schwab@redhat.com> + + * iconvdata/gb18030.c: Regenerate tables. 2011-06-15 Ulrich Drepper <drepper@gmail.com> diff --git a/iconvdata/gb18030.c b/iconvdata/gb18030.c index 4c8148fcc2..e3aaac2eb0 100644 --- a/iconvdata/gb18030.c +++ b/iconvdata/gb18030.c @@ -24324,17 +24324,17 @@ static const unsigned char __ucs_to_gb18030_tab2[][2] = len = 4; \ } \ else if (ch == 0x20087) \ - idx = 0xfe51; \ + cp = (const unsigned char *) "\xfe\x51"; \ else if (ch == 0x20089) \ - idx = 0xfe52; \ + cp = (const unsigned char *) "\xfe\x52"; \ else if (ch == 0x200CC) \ - idx = 0xfe53; \ + cp = (const unsigned char *) "\xfe\x53"; \ else if (ch == 0x215d7) \ - idx = 0xfe6c; \ + cp = (const unsigned char *) "\xfe\x6c"; \ else if (ch == 0x2298F) \ - idx = 0xfe76; \ + cp = (const unsigned char *) "\xfe\x76"; \ else if (ch == 0x241FE) \ - idx = 0xfe91; \ + cp = (const unsigned char *) "\xfe\x91"; \ else if (ch >= 0x10000 && ch <= 0x10FFFF) \ { \ idx = ch + 0x1E248; \ diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 3c5e52f663..ea4763f590 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -883,6 +883,9 @@ gaih_inet (const char *name, const struct gaih_service *service, if (status == NSS_STATUS_SUCCESS) { + assert (!no_data); + no_data = 1; + if ((req->ai_flags & AI_CANONNAME) != 0 && canon == NULL) canon = (*pat)->name; @@ -898,27 +901,20 @@ gaih_inet (const char *name, const struct gaih_service *service, pataddr[2] = htonl (0xffff); pataddr[1] = 0; pataddr[0] = 0; - pat = &(*pat)->next; + pat = &((*pat)->next); + no_data = 0; } - else if ((req->ai_family == AF_UNSPEC - || (*pat)->family == req->ai_family)) + else if (req->ai_family == AF_UNSPEC + || (*pat)->family == req->ai_family) { - if ((*pat)->family == AF_INET6) + pat = &((*pat)->next); + + no_data = 0; + if (req->ai_family == AF_INET6) got_ipv6 = true; - pat = &(*pat)->next; - } - else if (*pat == at) - { - if ((*pat)->next != NULL) - memcpy (*pat, (*pat)->next, sizeof (**pat)); - else - { - no_data = 1; - break; - } } else - *pat = (*pat)->next; + *pat = ((*pat)->next); } } |