diff options
author | tron <tron@openttd.org> | 2006-06-17 12:11:17 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-06-17 12:11:17 +0000 |
commit | 325e460ca9a3c0945337d098f6d1020362eef50f (patch) | |
tree | c79ba9ca9e046f4abb96994e7061153cf0d094db | |
parent | 5ee201d71ead5d531213e81769b127b35d7af32f (diff) | |
download | openttd-325e460ca9a3c0945337d098f6d1020362eef50f.tar.xz |
(svn r5295) Handle a quirk in the Windows interface detection code and fix a typo in r5293 (thanks to Darkvater for testing)
-rw-r--r-- | network.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -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); |