diff options
author | Martin Mares <mj@ucw.cz> | 1999-12-16 14:13:22 +0100 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-12-16 14:13:22 +0100 |
commit | 12a9d139eecea7e7fb5e73e82a2531c70894d4c8 (patch) | |
tree | 68db261d4b42bce98321c1f46270dae3c60ca1b6 | |
parent | 67ece6df42b20ecc524cf3e5c14e8b541afec860 (diff) | |
download | bird-12a9d139eecea7e7fb5e73e82a2531c70894d4c8.tar bird-12a9d139eecea7e7fb5e73e82a2531c70894d4c8.zip |
ipv6_compare() accepts non-lvalue arguments as well. This makes filters
compile with IPv6.
-rw-r--r-- | lib/ipv6.c | 4 | ||||
-rw-r--r-- | lib/ipv6.h | 4 |
2 files changed, 5 insertions, 3 deletions
@@ -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]) @@ -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? */ |