Selaa lähdekoodia

Apparently, our windows code for detecting ipv6 structures has worked for a while. Remove the special-case, remove the related XXXX020s, and add useful comments instead.

svn:r13377
Nick Mathewson 17 vuotta sitten
vanhempi
commit
54029559d7
1 muutettua tiedostoa jossa 8 lisäystä ja 4 poistoa
  1. 8 4
      src/common/compat.h

+ 8 - 4
src/common/compat.h

@@ -271,8 +271,11 @@ int get_n_open_sockets(void);
 typedef int socklen_t;
 #endif
 
-/* XXXX020 detect in6_addr correctly on ms_windows; this is a hack. */
-#if !defined(HAVE_STRUCT_IN6_ADDR) && !defined(MS_WINDOWS)
+/* Define struct in6_addr on platforms that do not have it.  Generally,
+ * these platforms are ones without IPv6 support, but we want to have
+ * a working in6_addr there anyway, so we can use it to parse IPv6
+ * addresses. */
+#if !defined(HAVE_STRUCT_IN6_ADDR)
 struct in6_addr
 {
   union {
@@ -313,8 +316,9 @@ typedef uint16_t sa_family_t;
 #define S6_ADDR16(x) ((uint16_t*)((char*)&(x).s6_addr))
 #endif
 
-/* XXXX020 detect sockaddr_in6 correctly on ms_windows; this is also a hack. */
-#if !defined(HAVE_STRUCT_SOCKADDR_IN6) && !defined(MS_WINDOWS)
+/* Define struct sockaddr_in6 on platforms that do not have it. See notes
+ * on struct in6_addr. */
+#if !defined(HAVE_STRUCT_SOCKADDR_IN6)
 struct sockaddr_in6 {
   sa_family_t sin6_family;
   uint16_t sin6_port;