]> jfr.im git - irc/quakenet/newserv.git/commitdiff
treat ::ffff:0.0.0.0/96 as ipv4 0/0
authorPaul <redacted>
Wed, 31 Dec 2008 17:50:53 +0000 (17:50 +0000)
committerPaul <redacted>
Wed, 31 Dec 2008 17:50:53 +0000 (17:50 +0000)
--HG--
branch : paul

lib/irc_ipv6.h

index 7a366a05dfebe44f0e9301c83e982a253a2b2b5c..f5fb361ae86c99c0fc129f39e0f3c1aab77db1f8 100644 (file)
@@ -33,8 +33,8 @@ struct irc_sockaddr
                                  || (ADDR)->in6_16[7] != (ADDR)->in6_16[0])
 /** Evaluate to non-zero if \a ADDR (of type struct irc_in_addr) is an IPv4 address. */
 #define irc_in_addr_is_ipv4(ADDR) (!(ADDR)->in6_16[0] && !(ADDR)->in6_16[1] && !(ADDR)->in6_16[2] \
-                                   && !(ADDR)->in6_16[3] && !(ADDR)->in6_16[4] && (ADDR)->in6_16[6] \
-                                   && (!(ADDR)->in6_16[5] || (ADDR)->in6_16[5] == 65535))
+                                   && !(ADDR)->in6_16[3] && !(ADDR)->in6_16[4] && ((!(ADDR)->in6_16[5] \
+                                   && (ADDR)->in6_16[6]) || (ADDR)->in6_16[5] == 65535))
 /** Evaluate to non-zero if \a A is a different IP than \a B. */
 #define irc_in_addr_cmp(A,B) (irc_in_addr_is_ipv4(A) ? ((A)->in6_16[6] != (B)->in6_16[6] \
                                   || (A)->in6_16[7] != (B)->in6_16[7] || !irc_in_addr_is_ipv4(B)) \