]> sjero.net Git - wget/blobdiff - src/host.c
iri.h is already included in wget.h, so don't include it in C files
[wget] / src / host.c
index 863209f395439b86bd2aa2b3040409437fa0ee65..bbf40222aabde4aca00520a3c0681d8266f86da3 100644 (file)
@@ -1,6 +1,6 @@
 /* Host name resolution and matching.
    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
@@ -28,7 +28,7 @@ Corresponding Source for a non-source form of such a combination
 shall include the source code for the parts of OpenSSL used as well
 as that of the covered work.  */
 
-#include <config.h>
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -49,7 +49,6 @@ as that of the covered work.  */
 
 #include <errno.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "host.h"
 #include "url.h"
@@ -496,7 +495,7 @@ is_valid_ipv6_address (const char *str, const char *end)
       int ch = *str++;
 
       /* if ch is a number, add it to val. */
-      if (ISXDIGIT (ch))
+      if (c_isxdigit (ch))
         {
           val <<= 4;
           val |= XDIGIT_TO_NUM (ch);
@@ -713,7 +712,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
   {
@@ -849,7 +865,7 @@ sufmatch (const char **list, const char *what)
   for (i = 0; list[i]; i++)
     {
       for (j = strlen (list[i]), k = lw; j >= 0 && k >= 0; j--, k--)
-        if (TOLOWER (list[i][j]) != TOLOWER (what[k]))
+        if (c_tolower (list[i][j]) != c_tolower (what[k]))
           break;
       /* The domain must be first to reach to beginning.  */
       if (j == -1)