changeset 8531:e1f4b0ce4884 draft

(svn r12106) -Fix(r12105): Kill warnings and raise an error when the transport type is not supported
author belugas <belugas@openttd.org>
date Mon, 11 Feb 2008 03:22:44 +0000
parents 6a0cdc5bc1b1
children b3bd4f1ed981
files src/tunnelbridge_cmd.cpp
diffstat 1 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/tunnelbridge_cmd.cpp
+++ b/src/tunnelbridge_cmd.cpp
@@ -202,12 +202,9 @@
 	/* unpack parameters */
 	bridge_type = GB(p2, 0, 8);
 
+	if (p1 >= MapSize()) return CMD_ERROR;
+
 	transport_type = (TransportType)GB(p2, 15, 2);
-	/* For now, only TRANSPORT_RAIL and TRANSPORT_ROAD are allowed.
-	 * But let not this stops us for preparing the future */
-	if (transport_type >= TRANSPORT_WATER) return CMD_ERROR;
-
-	if (p1 >= MapSize()) return CMD_ERROR;
 
 	/* type of bridge */
 	switch (transport_type) {
@@ -220,6 +217,11 @@
 			railtype = (RailType)GB(p2, 8, 8);
 			if (!ValParamRailtype(railtype)) return CMD_ERROR;
 			break;
+
+		default:
+			/* For now, only TRANSPORT_RAIL and TRANSPORT_ROAD are allowed.
+			 * But let not this stops us for preparing the future */
+			return CMD_ERROR;
 	}
 
 	x = TileX(end_tile);
@@ -356,6 +358,10 @@
 				MakeRoadBridgeRamp(tile_start, owner, bridge_type, dir, roadtypes);
 				MakeRoadBridgeRamp(tile_end,   owner, bridge_type, ReverseDiagDir(dir), roadtypes);
 				break;
+
+			default:
+				NOT_REACHED();
+				break;
 		}
 		MarkTileDirtyByTile(tile_start);
 		MarkTileDirtyByTile(tile_end);