--- a/src/network/network.cpp Sun Feb 03 01:34:21 2008 +0000
+++ b/src/network/network.cpp Sun Feb 03 20:34:26 2008 +0000
@@ -404,6 +404,7 @@
inaddr.s_addr = htonl(ip | ~netmask);
_broadcast_list[i] = inaddr.s_addr;
i++;
+ if (i == MAX_INTERFACES) break;
}
if (read < 0) {
break;
@@ -431,6 +432,7 @@
if (ifa->ifa_broadaddr->sa_family != AF_INET) continue;
_broadcast_list[i] = ((struct sockaddr_in*)ifa->ifa_broadaddr)->sin_addr.s_addr;
i++;
+ if (i == MAX_INTERFACES) break;
}
freeifaddrs(ifap);
@@ -470,6 +472,7 @@
_broadcast_list[i++] =
ifo[j].iiAddress.AddressIn.sin_addr.s_addr |
~ifo[j].iiNetmask.AddressIn.sin_addr.s_addr;
+ if (i == MAX_INTERFACES) break;
}
#else
ifconf.ifc_len = sizeof(buf);
@@ -493,6 +496,7 @@
ioctl(sock, SIOCGIFBRDADDR, &r) != -1) {
_broadcast_list[i++] =
((struct sockaddr_in*)&r.ifr_broadaddr)->sin_addr.s_addr;
+ if (i == MAX_INTERFACES) break;
}
}
@@ -1235,9 +1239,9 @@
if (_sync_frame != 0) {
if (_sync_frame == _frame_counter) {
#ifdef NETWORK_SEND_DOUBLE_SEED
- if (_sync_seed_1 != _random_seeds[0][0] || _sync_seed_2 != _random_seeds[0][1]) {
+ if (_sync_seed_1 != _random.state[0] || _sync_seed_2 != _random.state[1]) {
#else
- if (_sync_seed_1 != _random_seeds[0][0]) {
+ if (_sync_seed_1 != _random.state[0]) {
#endif
NetworkError(STR_NETWORK_ERR_DESYNC);
DebugDumpCommands("ddc:serr:%d;%d\n", _date, _date_fract);
@@ -1332,9 +1336,9 @@
// Then we make the frame
StateGameLoop();
- _sync_seed_1 = _random_seeds[0][0];
+ _sync_seed_1 = _random.state[0];
#ifdef NETWORK_SEND_DOUBLE_SEED
- _sync_seed_2 = _random_seeds[0][1];
+ _sync_seed_2 = _random.state[1];
#endif
NetworkServer_Tick(send_frame);