(svn r4640) - Add: IsValidDiagDirection, IsValidDirection and IsValidAxis functions.
authormatthijs
Mon, 01 May 2006 09:34:23 +0000
changeset 3699 dfd1e4dec957
parent 3698 2f256fe23db9
child 3700 e3cbe8238b06
(svn r4640) - Add: IsValidDiagDirection, IsValidDirection and IsValidAxis functions.
- Codechange: Use IsValidDiagDirection() in CmdBuildRoadStop().
direction.h
station_cmd.c
--- a/direction.h	Mon May 01 09:25:23 2006 +0000
+++ b/direction.h	Mon May 01 09:34:23 2006 +0000
@@ -93,7 +93,8 @@
 /* the 2 axis */
 typedef enum Axis {
 	AXIS_X = 0,
-	AXIS_Y = 1
+	AXIS_Y = 1,
+	AXIS_END
 } Axis;
 
 
@@ -112,4 +113,19 @@
 	return (DiagDirection)(2 - a);
 }
 
+static inline bool IsValidDiagDirection(DiagDirection d)
+{
+	return d < DIAGDIR_END;
+}
+
+static inline bool IsValidDirection(DiagDirection d)
+{
+	return d < DIR_END;
+}
+
+static inline bool IsValidAxis(DiagDirection d)
+{
+	return d < AXIS_END;
+}
+
 #endif
--- a/station_cmd.c	Mon May 01 09:25:23 2006 +0000
+++ b/station_cmd.c	Mon May 01 09:34:23 2006 +0000
@@ -1360,7 +1360,7 @@
 	bool type = !!p2;
 
 	/* Saveguard the parameters */
-	if (p1 > 3) return CMD_ERROR;
+	if (!IsValidDiagDirection(p1)) return CMD_ERROR;
 
 	SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION);