(svn r12106) -Fix(r12105): Kill warnings and raise an error when the transport type is not supported
authorbelugas
Mon, 11 Feb 2008 03:22:44 +0000
changeset 8531 00730ec6d8c8
parent 8530 0936741af0ac
child 8532 ebe68d6899b6
(svn r12106) -Fix(r12105): Kill warnings and raise an error when the transport type is not supported
src/tunnelbridge_cmd.cpp
--- a/src/tunnelbridge_cmd.cpp	Mon Feb 11 01:06:44 2008 +0000
+++ b/src/tunnelbridge_cmd.cpp	Mon Feb 11 03:22:44 2008 +0000
@@ -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);