resolv: fix gethostbyname2_r to match gethostbyname_r, fixing bugs with AAAA lookups
resolv: fix gethostbyname2_r to match gethostbyname_r, fixing bugs with AAAA lookups

The latter half of gethostbyname2_r (doing AAAA queries) is rather dramatically different
from the corresponding portion of gethostbyname_r (doing A queries). This leads to problems
like calls to getaddrinfo only returning one IPv6 address, even when multiple exist.

Seems to be entirely a case of divergent evolution -- a half-decade of fixes for the IPv4
code but no love for IPv6. Until now. ;)

DNS behaviour for IPv6 is really no different than for IPv4 -- beyond the difference in
address sizes, there's no need for the functions to be so different.

Consequently, this patch really is almost just a cut-and-paste of gethostbyname_r, with
the appropriate substitutions of in6_addr, AF_INET6, etc; while holding on to the few
extra bits that actually belong in there (eg #ifdef __UCLIBC_HAS_IPV6__).

Signed-off-by: Wes Campaigne <8e6bad736bcd1bef5bca82f25436f87a0391975e@gmail.com>

kraj/uclibc-ng,brgl/uclibc-ng,brgl/uclibc-ng,kraj/uclibc-ng,foss-for-synopsys-dwc-arc-processors/uClibc,wbx-github/uclibc-ng,kraj/uclibc-ng,brgl/uclibc-ng,wbx-github/uclibc-ng,brgl/uclibc-ng,wbx-github/uclibc-ng,foss-for-synopsys-dwc-arc-processors/uClibc,kraj/uclibc-ng,foss-for-synopsys-dwc-arc-processors/uClibc,wbx-github/uclibc-ng,foss-for-synopsys-dwc-arc-processors/uClibc