/* Host name resolution and matching.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+ 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
This file is part of GNU Wget.
# define NO_ADDRESS NO_DATA
#endif
-#if !HAVE_DECL_H_ERRNO
+#if !HAVE_DECL_H_ERRNO && !defined(WINDOWS)
extern int h_errno;
#endif
ip = al->addresses;
for (ptr = ai; ptr != NULL; ptr = ptr->ai_next)
- if (ptr->ai_family == AF_INET6)
+ if (ptr->ai_family == AF_INET6)
{
const struct sockaddr_in6 *sin6 =
(const struct sockaddr_in6 *)ptr->ai_addr;
ip->ipv6_scope = sin6->sin6_scope_id;
#endif
++ip;
- }
+ }
else if (ptr->ai_family == AF_INET)
{
const struct sockaddr_in *sin =
}
/* Print error messages for host errors. */
-static char *
+static const char *
host_errstr (int error)
{
/* Can't use switch since some of these constants can be equal,
}
if (octets < 4)
return false;
-
+
return true;
}
if (str == end)
return false;
-
+
/* Leading :: requires some special handling. */
if (*str == ':')
{
saw_xdigit = false;
break;
}
-
+
return false;
}
if (saw_xdigit)
{
- if (tp > ns_in6addrsz - ns_int16sz)
+ if (tp > ns_in6addrsz - ns_int16sz)
return false;
tp += ns_int16sz;
}
if (colonp != NULL)
{
- if (tp == ns_in6addrsz)
+ if (tp == ns_in6addrsz)
return false;
tp = ns_in6addrsz;
}