(svn r1054) -Fix: [Network] Redid revision 1024, only a bit more nice this time
authortruelight
Mon, 13 Dec 2004 16:15:21 +0000
changeset 624 f834e073c2dc
parent 623 3c50358d5a1b
child 625 40c83b088bb8
(svn r1054) -Fix: [Network] Redid revision 1024, only a bit more nice this time
(revision length is back to 10, and checking is now done correctly)
network.h
network_gui.c
network_server.c
--- a/network.h	Mon Dec 13 15:07:33 2004 +0000
+++ b/network.h	Mon Dec 13 16:15:21 2004 +0000
@@ -39,7 +39,7 @@
 
 #define NETWORK_NAME_LENGTH 80
 #define NETWORK_HOSTNAME_LENGTH 80
-#define NETWORK_REVISION_LENGTH 20
+#define NETWORK_REVISION_LENGTH 10
 #define NETWORK_PASSWORD_LENGTH 20
 #define NETWORK_PLAYERS_LENGTH 200
 
--- a/network_gui.c	Mon Dec 13 15:07:33 2004 +0000
+++ b/network_gui.c	Mon Dec 13 16:15:21 2004 +0000
@@ -88,7 +88,7 @@
 		else if (_selected_item->info.clients_on == _selected_item->info.clients_max)
 			w->disabled_state = (1<<17); // Server full, join button disabled
 #ifdef WITH_REV
-		else if (strncmp(_selected_item->info.server_revision, _openttd_revision, 10) != 0) {
+		else if (strncmp(_selected_item->info.server_revision, _openttd_revision, NETWORK_REVISION_LENGTH - 1) != 0) {
 			if (strncmp(_selected_item->info.server_revision, "norev000", sizeof(_selected_item->info.server_revision)) != 0)
 				w->disabled_state = (1<<17); // Revision mismatch, join button disabled
 		}
@@ -115,7 +115,7 @@
 			const NetworkGameList *cur_item = _network_game_list;
 			while (cur_item != NULL) {
 #ifdef WITH_REV
-				bool compatible = (strncmp(cur_item->info.server_revision, _openttd_revision, 10) == 0);
+				bool compatible = (strncmp(cur_item->info.server_revision, _openttd_revision, NETWORK_REVISION_LENGTH - 1) == 0);
 #else
 				bool compatible = true; // We have no idea if we are compatible...
 #endif
@@ -210,7 +210,7 @@
 			y+=2;
 
 #ifdef WITH_REV
-			if (strncmp(_selected_item->info.server_revision, _openttd_revision, 10) != 0) {
+			if (strncmp(_selected_item->info.server_revision, _openttd_revision, NETWORK_REVISION_LENGTH - 1) != 0) {
 				if (strncmp(_selected_item->info.server_revision, "norev000", sizeof(_selected_item->info.server_revision)) != 0)
 					DrawStringMultiCenter(360, y, STR_NETWORK_VERSION_MISMATCH, 2); // server mismatch
 			} else
--- a/network_server.c	Mon Dec 13 15:07:33 2004 +0000
+++ b/network_server.c	Mon Dec 13 16:15:21 2004 +0000
@@ -580,7 +580,7 @@
 #if defined(WITH_REV) || defined (WITH_REV_HACK)
 	// Check if the client has WITH_REV enabled
 	if (strncmp("norev000", client_revision, sizeof(client_revision)) != 0) {
-		if (strncmp(_network_game_info.server_revision, client_revision, sizeof(_network_game_info.server_revision)) != 0) {
+		if (strncmp(_network_game_info.server_revision, client_revision, sizeof(_network_game_info.server_revision) - 1) != 0) {
 			// Different revisions!!
 			SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_WRONG_REVISION);