summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Ciphery <brett.ciphery@windriver.com>2012-01-11 11:40:11 -0500
committerThomas Graf <tgraf@redhat.com>2012-01-12 10:18:35 +0100
commit794ac78c5618ee81a45e4f58694ee27b3403ebd7 (patch)
treec503f8be006cb82c8cff853e4f3365031db3f15e
parentd7222e5ddeb046dad9b02c0ed7b0771c6aead76b (diff)
downloadlibnl-794ac78c5618ee81a45e4f58694ee27b3403ebd7.tar.gz
nl_addr_cmp(): handle prefix length during address comparison
Signed-off-by: Brett Ciphery <brett.ciphery@windriver.com>
-rw-r--r--lib/addr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/addr.c b/lib/addr.c
index c8c4ca4..30c708d 100644
--- a/lib/addr.c
+++ b/lib/addr.c
@@ -497,7 +497,10 @@ int nl_addr_cmp(struct nl_addr *a, struct nl_addr *b)
d = a->a_len - b->a_len;
if (a->a_len && d == 0)
- return memcmp(a->a_addr, b->a_addr, a->a_len);
+ d = memcmp(a->a_addr, b->a_addr, a->a_len);
+
+ if (d == 0)
+ return (a->a_prefixlen - b->a_prefixlen);
}
return d;