]> sjero.net Git - wget/blobdiff - src/host.c
Automated merge.
[wget] / src / host.c
index 5a530221da17969cdd17ba42cbc86a305e699771..d3b8da84b25cf7039afb29301f38aeab6aeb7442 100644 (file)
@@ -36,12 +36,17 @@ as that of the covered work.  */
 #include <assert.h>
 
 #ifndef WINDOWS
+# include <sys/types.h>
 # include <sys/socket.h>
 # include <netinet/in.h>
 # ifndef __BEOS__
 #  include <arpa/inet.h>
 # endif
-# include <netdb.h>
+# ifdef __VMS
+#  include "vms_ip.h"
+# else /* def __VMS */
+#  include <netdb.h>
+# endif /* def __VMS [else] */
 # define SET_H_ERRNO(err) ((void)(h_errno = (err)))
 #else  /* WINDOWS */
 # define SET_H_ERRNO(err) WSASetLastError (err)
@@ -58,6 +63,11 @@ as that of the covered work.  */
 # define NO_ADDRESS NO_DATA
 #endif
 
+#if !HAVE_DECL_H_ERRNO
+extern int h_errno;
+#endif
+
+
 /* Lists of IP addresses that result from running DNS queries.  See
    lookup_host for details.  */
 
@@ -712,7 +722,24 @@ lookup_host (const char *host, int flags)
   /* No luck with the cache; resolve HOST. */
 
   if (!silent && !numeric_address)
-    logprintf (LOG_VERBOSE, _("Resolving %s... "), escnonprint (host));
+    {
+      char *str = NULL, *name;
+
+      if (opt.enable_iri && (name = idn_decode ((char *) host)) != NULL)
+        {
+          int len = strlen (host) + strlen (name) + 4;
+          str = xmalloc (len);
+          snprintf (str, len, "%s (%s)", name, host);
+          str[len-1] = '\0';
+          xfree (name);
+        }
+
+      logprintf (LOG_VERBOSE, _("Resolving %s... "),
+                 quotearg_style (escape_quoting_style, str ? str : host));
+
+      if (str)
+        xfree (str);
+    }
 
 #ifdef ENABLE_IPV6
   {