fix ipv6_prefix_length endianness bugs (Closes: #103)
diff --git a/libiptc/libip6tc.c b/libiptc/libip6tc.c
index 84e139c..9a78a5a 100644
--- a/libiptc/libip6tc.c
+++ b/libiptc/libip6tc.c
@@ -111,7 +111,7 @@
 #include "libiptc.c"
 
 #define BIT6(a, l) \
- (((a->in6_u.u6_addr32[(l) / 32]) >> ((l) & 31)) & 1)
+ ((ntohl(a->in6_u.u6_addr32[(l) / 32]) >> (31 - ((l) & 31))) & 1)
 
 int
 ipv6_prefix_length(const struct in6_addr *a)