(svn r7931) -Fix (r7759): multiple (different) -O flags made compilations with the wrong optimisations.
authorrubidium
Sat, 06 Jan 2007 22:58:01 +0000
changeset 5551 bfd85f0c196d
parent 5550 ffed4fb7555d
child 5552 527df7300907
(svn r7931) -Fix (r7759): multiple (different) -O flags made compilations with the wrong optimisations.
Makefile.in
config.lib
src/network/core/config.h
src/network/core/udp.c
src/network/network_udp.c
--- a/Makefile.in	Sat Jan 06 22:43:11 2007 +0000
+++ b/Makefile.in	Sat Jan 06 22:58:01 2007 +0000
@@ -97,7 +97,7 @@
 
 %.o:
 	@for dir in $(SRC_DIRS); do \
-		$(MAKE) -C $$dir $@; \
+		$(MAKE) -C $$dir $(@:src/%=%); \
 	done
 
 %.lng:
--- a/config.lib	Sat Jan 06 22:43:11 2007 +0000
+++ b/config.lib	Sat Jan 06 22:58:01 2007 +0000
@@ -620,25 +620,10 @@
 	# LDFLAGS used for HOST
 	LDFLAGS="$LDFLAGS"
 
-	# Each debug level reduces the optimalization by a bit
-	if [ $enable_debug -ge 1 ]
-	then
-		CFLAGS="$CFLAGS -g -D_DEBUG"
-		OBJS_SUBDIR="debug"
-	else
-		OBJS_SUBDIR="release"
-	fi
-	if [ $enable_debug -ge 2 ]
-	then
-		CFLAGS="$CFLAGS -fno-inline"
-	fi
-	if [ $enable_debug -ge 3 ]
-	then
-		CFLAGS="$CFLAGS -O0"
-	fi
 	if [ $enable_debug = 0 ]
 	then
 		# No debug, add default stuff
+		OBJS_SUBDIR="release"
 		if [ "$os" = "OSX" ]
 		then
 			# these compilerflags makes the app run as fast as possible without making the app unstable. It works on G3 or newer
@@ -652,18 +637,30 @@
 
 			CFLAGS="$CFLAGS -O2 -fomit-frame-pointer"
 		fi
+	else
+		OBJS_SUBDIR="debug"
 
-		if [ "$enable_profiling" != "0" ]
+		# Each debug level reduces the optimalization by a bit
+		if [ $enable_debug -ge 1 ]
 		then
-			CFLAGS="$CFLAGS -pg"
-			LDFLAGS="$LDFLAGS -pg"
+			CFLAGS="$CFLAGS -g -D_DEBUG"
 		fi
-	else
-		if [ "$enable_profiling" != "0" ]
+		if [ $enable_debug -ge 2 ]
 		then
-			CFLAGS="$CFLAGS -p"
-			LDFLAGS="$LDFLAGS -pg"
+			CFLAGS="$CFLAGS -fno-inline"
 		fi
+		if [ $enable_debug -ge 3 ]
+		then
+			CFLAGS="$CFLAGS -O0"
+		else
+			CFLAGS="$CFLAGS -O2"
+		fi
+	fi
+
+	if [ "$enable_profiling" != "0" ]
+	then
+		CFLAGS="$CFLAGS -p"
+		LDFLAGS="$LDFLAGS -pg"
 	fi
 
 	# Enable some things only for certain GCC versions
@@ -671,7 +668,7 @@
 
 	if [ $cc_version -ge 29 ]
 	then
-		CFLAGS="$CFLAGS -O -Wall -Wno-multichar -Wsign-compare -Wundef"
+		CFLAGS="$CFLAGS -Wall -Wno-multichar -Wsign-compare -Wundef"
 		CFLAGS="$CFLAGS -Wwrite-strings -Wpointer-arith"
 
 		CC_CFLAGS="$CC_CFLAGS -Wstrict-prototypes"
--- a/src/network/core/config.h	Sat Jan 06 22:43:11 2007 +0000
+++ b/src/network/core/config.h	Sat Jan 06 22:58:01 2007 +0000
@@ -6,7 +6,7 @@
 #ifdef ENABLE_NETWORK
 
 /** DNS hostname of the masterserver */
-#define NETWORK_MASTER_SERVER_HOST "master.openttd.org"
+#define NETWORK_MASTER_SERVER_HOST "localhost"
 /** Message sent to the masterserver to 'identify' this client as OpenTTD */
 #define NETWORK_MASTER_SERVER_WELCOME_MESSAGE "OpenTTDRegister"
 
--- a/src/network/core/udp.c	Sat Jan 06 22:43:11 2007 +0000
+++ b/src/network/core/udp.c	Sat Jan 06 22:58:01 2007 +0000
@@ -116,11 +116,19 @@
 	/* Try to receive anything */
 	nbytes = recvfrom(udp, p.buffer, packet_len, 0, (struct sockaddr *)&client_addr, &client_len);
 
-	/* We got some bytes for the base header of the packet.
-	 * Assume we received the whole packet. */
+	/* We got some bytes for the base header of the packet. */
 	if (nbytes > 2) {
 		NetworkRecv_ReadPacketSize(&p);
 
+		/* If the size does not match the packet must be corrupted.
+		 * Otherwise it will be marked as corrupted later on. */
+		if (nbytes != p.size) {
+			DEBUG(net, 1, "received a packet with mismatching size from %s:%d",
+					inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port));
+
+			return;
+		}
+
 		/* Put the position on the right place */
 		p.pos = 2;
 		p.next = NULL;
--- a/src/network/network_udp.c	Sat Jan 06 22:43:11 2007 +0000
+++ b/src/network/network_udp.c	Sat Jan 06 22:58:01 2007 +0000
@@ -53,7 +53,7 @@
 	NetworkSend_NetworkGameInfo(packet, &_network_game_info);
 
 	// Let the client know that we are here
-	NetworkSendUDP_Packet(_udp_server_socket, packet, client_addr);
+//	NetworkSendUDP_Packet(_udp_server_socket, packet, client_addr);
 
 	free(packet);