chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3221666
)
shared: net - use u32ctz to compute prefixlen
author
Tom Gundersen
<teg@jklm.no>
Thu, 30 Jan 2014 16:23:34 +0000
(17:23 +0100)
committer
Tom Gundersen
<teg@jklm.no>
Thu, 30 Jan 2014 16:23:34 +0000
(17:23 +0100)
src/shared/net-util.c
patch
|
blob
|
history
diff --git
a/src/shared/net-util.c
b/src/shared/net-util.c
index 630be18e56ecba042a0e751f326b2fa43f586afb..ba21ae437f3da968aae980c584a32c07a0ffca1c 100644
(file)
--- a/
src/shared/net-util.c
+++ b/
src/shared/net-util.c
@@
-59,18
+59,9
@@
bool net_match_config(const struct ether_addr *match_mac,
}
unsigned net_netmask_to_prefixlen(const struct in_addr *addr) {
- unsigned len = 0;
- uint32_t mask;
-
assert(addr);
- mask = be32toh(addr->s_addr);
- while (mask) {
- len++;
- mask = mask << 1;
- }
-
- return len;
+ return 32 - u32ctz(be32toh(addr->s_addr));
}
int config_parse_ifname(const char *unit,