summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-12-16 13:13:22 +0000
committerMartin Mares <mj@ucw.cz>1999-12-16 13:13:22 +0000
commit12a9d139eecea7e7fb5e73e82a2531c70894d4c8 (patch)
tree68db261d4b42bce98321c1f46270dae3c60ca1b6
parent67ece6df42b20ecc524cf3e5c14e8b541afec860 (diff)
ipv6_compare() accepts non-lvalue arguments as well. This makes filters
compile with IPv6.
-rw-r--r--lib/ipv6.c4
-rw-r--r--lib/ipv6.h4
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/ipv6.c b/lib/ipv6.c
index c057600f..3c01a4f4 100644
--- a/lib/ipv6.c
+++ b/lib/ipv6.c
@@ -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])
diff --git a/lib/ipv6.h b/lib/ipv6.h
index 59005f94..32525af5 100644
--- a/lib/ipv6.h
+++ b/lib/ipv6.h
@@ -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? */