summaryrefslogtreecommitdiff
path: root/settings.c
diff options
context:
space:
mode:
authorDarkvater <Darkvater@openttd.org>2006-08-15 00:26:24 +0000
committerDarkvater <Darkvater@openttd.org>2006-08-15 00:26:24 +0000
commit2f4bd399fe893cac2c7fc16903d50a52d8ef8f2b (patch)
treec63efb7f700a9265399cac7335b8d0a08626a957 /settings.c
parent0f2f6336b96df7570b0c256619af3cfe1ad41fe5 (diff)
downloadopenttd-2f4bd399fe893cac2c7fc16903d50a52d8ef8f2b.tar.xz
(svn r5903) -Fix [FS#170]: Changing patch settings through the console didn't accept on/off or true/false.
Diffstat (limited to 'settings.c')
-rw-r--r--settings.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/settings.c b/settings.c
index 92cdffbea..3d1c5ae69 100644
--- a/settings.c
+++ b/settings.c
@@ -1597,7 +1597,10 @@ const SettingDesc *GetPatchFromName(const char *name, uint *i)
}
/* Those 2 functions need to be here, else we have to make some stuff non-static
- * and besides, it is also better to keep stuff like this at the same place */
+ * and besides, it is also better to keep stuff like this at the same place
+ * XXX - Perhaps back to console[_cmds].c? They are console functions after all */
+extern bool GetArgumentInteger(uint32 *value, const char *arg);
+
void IConsoleSetPatchSetting(const char *name, const char *value)
{
int32 val;
@@ -1611,7 +1614,8 @@ void IConsoleSetPatchSetting(const char *name, const char *value)
return;
}
- sscanf(value, "%d", &val);
+ if (!GetArgumentInteger(&val, value)) return;
+
patches_ptr = (_game_mode == GM_MENU) ? &_patches_newgame : &_patches;
ptr = ini_get_variable(&sd->save, patches_ptr);