From: Ben Laurie Date: Wed, 30 May 2012 09:34:44 +0000 (+0000) Subject: Build on FreeBSD with gcc 4.6. X-Git-Tag: master-post-reformat~1817 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=03c1d9f99d95e19d4940aae8587808924cab486a Build on FreeBSD with gcc 4.6. --- diff --git a/crypto/bio/bss_dgram.c b/crypto/bio/bss_dgram.c index 1b1e4bec81..46cbe8a407 100644 --- a/crypto/bio/bss_dgram.c +++ b/crypto/bio/bss_dgram.c @@ -81,6 +81,16 @@ #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