changeset 10361:b822f913edb3 draft

(svn r14612) -Change: force the argument given to '-i' parameter to be valid. Accept '2', too
author smatz <smatz@openttd.org>
date Sun, 23 Nov 2008 16:01:24 +0000
parents d352cf399eb7
children bc96789f4e9c
files src/openttd.cpp
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/openttd.cpp
+++ b/src/openttd.cpp
@@ -192,6 +192,8 @@
 #endif /* ENABLE_NETWORK */
 		"  -i palette          = Force to use the DOS (0) or Windows (1) palette\n"
 		"                          (defines default setting when adding newgrfs)\n"
+		"                        Default value (2) lets OpenTTD use the palette\n"
+		"                          specified in graphics set file (see below)\n"
 		"  -I graphics_set     = Force the graphics set (see below)\n"
 		"  -c config_file      = Use 'config_file' instead of 'openttd.cfg'\n"
 		"  -x                  = Do not automatically save to config file on exit\n"
@@ -464,7 +466,13 @@
 				if (mgo.opt != NULL) SetDebugString(mgo.opt);
 			} break;
 		case 'e': _switch_mode = SM_EDITOR; break;
-		case 'i': _use_palette = (mgo.opt == NULL || atoi(mgo.opt) == 0) ? PAL_DOS : PAL_WINDOWS; break;
+		case 'i':
+			/* there is an argument, it is not empty, and it is exactly 1 char long */
+			if (!StrEmpty(mgo.opt) && mgo.opt[1] == '\0') {
+				_use_palette = (PaletteType)(mgo.opt[0] - '0');
+				if (_use_palette <= MAX_PAL) break;
+			}
+			usererror("Valid value for '-i' is 0, 1 or 2");
 		case 'g':
 			if (mgo.opt != NULL) {
 				strecpy(_file_to_saveload.name, mgo.opt, lastof(_file_to_saveload.name));