]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
ipv6_compare() accepts non-lvalue arguments as well. This makes filters
authorMartin Mares <mj@ucw.cz>
Thu, 16 Dec 1999 13:13:22 +0000 (13:13 +0000)
committerMartin Mares <mj@ucw.cz>
Thu, 16 Dec 1999 13:13:22 +0000 (13:13 +0000)
compile with IPv6.

lib/ipv6.c
lib/ipv6.h

index c057600f0cbdcae1979d4515853d7efde4488b59..3c01a4f4574a7a74ca238a0d3cc1f3f0247f4aca 100644 (file)
@@ -112,9 +112,11 @@ ipv6_ntoh(ip_addr *a)
 }
 
 int
-ipv6_compare(ip_addr *x, ip_addr *y)
+ipv6_compare(ip_addr X, ip_addr Y)
 {
   int i;
+  ip_addr *x = &X;
+  ip_addr *y = &Y;
 
   for(i=0; i<4; i++)
     if (x->addr[i] > y->addr[i])
index 59005f949d103ffd17cf83072e33c2be5adac664..32525af58f570865f5d90f968f327c2d6f5e63d8 100644 (file)
@@ -54,14 +54,14 @@ typedef struct ipv6_addr {
 /* ipa_opposite and ipa_class_mask don't make sense with IPv6 */
 /* ipa_from_u32 and ipa_to_u32 replaced by ipa_build */
 #define ipa_build(a,b,c,d) _MI(a,b,c,d)
-#define ipa_compare(x,y) ipv6_compare(&x,&y)
+#define ipa_compare(x,y) ipv6_compare(x,y)
 
 ip_addr ipv6_mkmask(unsigned);
 unsigned ipv6_mklen(ip_addr *);
 int ipv6_classify(ip_addr *);
 void ipv6_hton(ip_addr *);
 void ipv6_ntoh(ip_addr *);
-int ipv6_compare(ip_addr *, ip_addr *);
+int ipv6_compare(ip_addr, ip_addr);
 int ipv4_pton_u32(char *, u32 *);
 
 /* FIXME: Is this hash function uniformly distributed over standard routing tables? */