Build on FreeBSD with gcc 4.6.
authorBen Laurie <ben@openssl.org>
Wed, 30 May 2012 09:34:44 +0000 (09:34 +0000)
committerBen Laurie <ben@openssl.org>
Wed, 30 May 2012 09:34:44 +0000 (09:34 +0000)
crypto/bio/bss_dgram.c

index 1b1e4bec8121fe58102bb4da5f7f275a494239a9..46cbe8a407697a923bc6a709ce98e239ed68d57e 100644 (file)
 #define IP_MTU      14 /* linux is lame */
 #endif
 
+#ifdef __FreeBSD__
+/* Standard definition causes type-punning problems. */
+#undef IN6_IS_ADDR_V4MAPPED
+#define s6_addr32 __u6_addr.__u6_addr32
+#define IN6_IS_ADDR_V4MAPPED(a)               \
+        (((a)->s6_addr32[0] == 0) &&          \
+         ((a)->s6_addr32[1] == 0) &&          \
+         ((a)->s6_addr32[2] == htonl(0x0000ffff)))
+#endif
+
 #ifdef WATT32
 #define sock_write SockWrite  /* Watt-32 uses same names */
 #define sock_read  SockRead