changeset 16966:8d278efe19c8 draft

(svn r21702) -Fix: make sure the colour argument of echoc is properly validated to be a text colour
author rubidium <rubidium@openttd.org>
date Mon, 03 Jan 2011 12:04:53 +0000
parents db80544f73f9
children 77f2b8f0869d
files src/console_cmds.cpp src/gfx_type.h
diffstat 2 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/console_cmds.cpp
+++ b/src/console_cmds.cpp
@@ -958,7 +958,7 @@
 	}
 
 	if (argc < 3) return false;
-	IConsolePrint((TextColour)atoi(argv[1]), argv[2]);
+	IConsolePrint((TextColour)Clamp(atoi(argv[1]), TC_BEGIN, TC_END - 1), argv[2]);
 	return true;
 }
 
--- a/src/gfx_type.h
+++ b/src/gfx_type.h
@@ -204,6 +204,7 @@
 
 /** Colour of the strings, see _string_colourmap in table/palettes.h or docs/ottd-colourtext-palette.png */
 enum TextColour {
+	TC_BEGIN       = 0x00,
 	TC_FROMSTRING  = 0x00,
 	TC_BLUE        = 0x00,
 	TC_SILVER      = 0x01,
@@ -222,6 +223,7 @@
 	TC_GREY        = 0x0E,
 	TC_DARK_BLUE   = 0x0F,
 	TC_BLACK       = 0x10,
+	TC_END,
 	TC_INVALID     = 0xFF,
 
 	TC_IS_PALETTE_COLOUR = 0x100, ///< Colour value is already a real palette colour index, not an index of a StringColour.