From 021e786c7108bc60f4517fcc306e1e18d99ff5ec Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Thu, 20 Oct 2005 19:40:02 +0000
Subject: [PATCH] Added a dump_addrinfo() function to ease debugging of
 resolved names. Define DEBUG_ADDRINFO to enable.

---
 lib/hostip6.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/lib/hostip6.c b/lib/hostip6.c
index aa25de3e9f..775ba91475 100644
--- a/lib/hostip6.c
+++ b/lib/hostip6.c
@@ -73,6 +73,7 @@
 #include "strerror.h"
 #include "url.h"
 #include "inet_pton.h"
+#include "connect.h"
 
 #define _MPRINTF_REPLACE /* use our functions only */
 #include <curl/mprintf.h>
@@ -186,6 +187,26 @@ bool Curl_ipvalid(struct SessionHandle *data)
 }
 
 #ifndef USE_THREADING_GETADDRINFO
+
+#ifdef DEBUG_ADDRINFO
+static void dump_addrinfo(struct connectdata *conn, const struct addrinfo *ai)
+{
+  printf("dump_addrinfo:\n");
+  for ( ; ai; ai = ai->ai_next) {
+    char  buf[INET6_ADDRSTRLEN];
+
+    printf("    fam %2d, CNAME %s, ",
+           ai->ai_family, ai->ai_canonname ? ai->ai_canonname : "<none>");
+    if (Curl_printable_address(ai, buf, sizeof(buf)))
+      printf("%s\n", buf);
+    else
+      printf("failed; %s\n", Curl_strerror(conn, Curl_ourerrno()));
+  }
+}
+#else
+#define dump_addrinfo(x,y)
+#endif
+
 /*
  * Curl_getaddrinfo() when built ipv6-enabled (non-threading version).
  *
@@ -266,6 +287,8 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
     return NULL;
   }
 
+  dump_addrinfo(conn, res);
+
   return res;
 }
 #endif /* USE_THREADING_GETADDRINFO */
-- 
GitLab