summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/command.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/command.cpp b/src/command.cpp
index 4ed4b3d6e..3c5f434c9 100644
--- a/src/command.cpp
+++ b/src/command.cpp
@@ -349,7 +349,7 @@ static const Command _command_proc_table[] = {
* @param cmd The integervalue of a command
* @return true if the command is valid (and got a CommandProc function)
*/
-bool IsValidCommand(uint cmd)
+bool IsValidCommand(uint32 cmd)
{
cmd &= 0xFF;
@@ -364,12 +364,11 @@ bool IsValidCommand(uint cmd)
*
* @param cmd The integer value of the command
* @return The flags for this command
- * @bug integervalues which are less equals 0xFF and greater than the
- * size of _command_proc_table can result in an index out of bounce
- * error (which doesn't happend anyway). Check function #IsValidCommand(). (Progman)
*/
-byte GetCommandFlags(uint cmd)
+byte GetCommandFlags(uint32 cmd)
{
+ assert(IsValidCommand(cmd));
+
return _command_proc_table[cmd & 0xFF].flags;
}
@@ -389,7 +388,6 @@ static int _docommand_recursive = 0;
CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 flags, uint32 procc)
{
CommandCost res;
- CommandProc *proc;
/* Do not even think about executing out-of-bounds tile-commands */
if (!IsValidTile(tile)) {
@@ -397,7 +395,7 @@ CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 flags, uint32
return CMD_ERROR;
}
- proc = _command_proc_table[procc].proc;
+ CommandProc *proc = _command_proc_table[procc].proc;
if (_docommand_recursive == 0) _error_message = INVALID_STRING_ID;