summaryrefslogtreecommitdiff
path: root/src/w32.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2019-11-27 18:16:37 +0200
committerEli Zaretskii <eliz@gnu.org>2019-11-27 18:16:37 +0200
commit39b3bc0082050af08e19d80059ddca66355559ce (patch)
tree3b705deadf70fee3a99699a79a48c54c552c7a3f /src/w32.c
parent4eb7db5d4b84708912c63a77569c8adeeff6c640 (diff)
downloademacs-39b3bc0082050af08e19d80059ddca66355559ce.tar.gz
; Fix recent change in w32.c
* src/w32.c (network_interface_list): Correct an embarrassing typo and cleanup the code.
Diffstat (limited to 'src/w32.c')
-rw-r--r--src/w32.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/w32.c b/src/w32.c
index cb82d51fb92..a6ebe55ee4d 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -9642,8 +9642,7 @@ network_interface_list (bool full, unsigned short match)
#else
/* Kludge alert! OnLinkPrefixLength is only defined
when compiling for Vista and later. */
- numbits = *(UINT8 *) (address->LeaseLifetime
- + sizeof (address->LeaseLifetime));
+ numbits = *(UINT8 *) (&address->LeaseLifetime + 1);
#endif
}
else /* Windows XP */
@@ -9652,14 +9651,14 @@ network_interface_list (bool full, unsigned short match)
numbits = 0;
for ( ; prefix; prefix = prefix->Next)
{
- /* We want the longest matching prefix. */
- if (prefix->Address.lpSockaddr->sa_family
- != ifa_addr->sa_family
- || prefix->PrefixLength <= numbits)
- continue;
- if (address_prefix_match (ifa_addr->sa_family, ifa_addr,
- prefix->Address.lpSockaddr,
- prefix->PrefixLength))
+ /* We want the longest matching prefix. */
+ if ((prefix->Address.lpSockaddr->sa_family
+ == ifa_addr->sa_family)
+ && (prefix->PrefixLength > numbits)
+ && address_prefix_match (ifa_addr->sa_family,
+ ifa_addr,
+ prefix->Address.lpSockaddr,
+ prefix->PrefixLength))
numbits = prefix->PrefixLength;
}
if (!numbits)