From 5db6c57bead97ee1c774d02c7a870d4f08c23ddf Mon Sep 17 00:00:00 2001 From: tron Date: Sat, 17 Jun 2006 12:11:17 +0000 Subject: (svn r5295) Handle a quirk in the Windows interface detection code and fix a typo in r5293 (thanks to Darkvater for testing) --- network.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'network.c') diff --git a/network.c b/network.c index 110de84ae..bfc5d806f 100644 --- a/network.c +++ b/network.c @@ -399,10 +399,16 @@ static void NetworkFindIPs(void) return; } - // Now walk through all IPs and list them + i = 0; for (j = 0; j < len / sizeof(*ifo); j++) { + if (ifo[j].iiFlags & IFF_LOOPBACK) continue; if (!(ifo[j].iiFlags & IFF_BROADCAST)) continue; - _broadcast_list[i++] = ifo[j].iiBroadcastAddress.AddressIn.sin_addr.s_addr; + /* iiBroadcast is unusable, because it always seems to be set to + * 255.255.255.255. + */ + _broadcast_list[i++] = + ifo[j].iiAddress.AddressIn.sin_addr.s_addr | + ~ifo[j].iiNetmask.AddressIn.sin_addr.s_addr; } #else ifconf.ifc_len = sizeof(buf); -- cgit v1.2.3-54-g00ecf