src/network/network.cpp
branchNewGRF_ports
changeset 6877 889301acc299
parent 6872 1c4a4a609f85
child 10242 52b4a9006029
--- 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);