From 5df217fbf0fc95c4ec8399506341e1880ccde416 Mon Sep 17 00:00:00 2001 From: fadhil riyanto Date: Thu, 10 Oct 2024 07:10:12 +0700 Subject: test resolve by AF_UNSPEC Signed-off-by: fadhil riyanto --- test/ares.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/test/ares.c b/test/ares.c index 5effffe..4881eed 100644 --- a/test/ares.c +++ b/test/ares.c @@ -21,18 +21,26 @@ int main() char buf[NI_MAXHOST]; - req.ai_family = AF_INET6; + req.ai_family = AF_UNSPEC; req.ai_socktype = SOCK_DGRAM; - ret = getaddrinfo("google.com", NULL, &req, &res); + ret = getaddrinfo("fb.com", NULL, &req, &res); if (ret == 0) { while (res) { memset(buf, 0, NI_MAXHOST); - ptr = &((struct sockaddr_in6*)res->ai_addr)->sin6_addr; + if (res->ai_family == AF_INET6) { + ptr = &((struct sockaddr_in6*)res->ai_addr)->sin6_addr; + + inet_ntop(AF_INET6, ptr, buf, NI_MAXHOST); + printf("%s\n", buf); + } else if (res->ai_family == AF_INET) { + ptr = &((struct sockaddr_in*)res->ai_addr)->sin_addr; + + inet_ntop(AF_INET, ptr, buf, NI_MAXHOST); + printf("%s\n", buf); + } - inet_ntop(AF_INET6, ptr, buf, NI_MAXHOST); - printf("%s\n", buf); res = res->ai_next; } -- cgit v1.2.3