summaryrefslogtreecommitdiff
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
commit8fc2664237f87e29bbc20103142ae4281c637a93 (patch)
treec63efb7f700a9265399cac7335b8d0a08626a957
parentc22f0a91e7cf3aab7f4b10dcf52805c7144831b2 (diff)
downloadopenttd-8fc2664237f87e29bbc20103142ae4281c637a93.tar.xz
(svn r5903) -Fix [FS#170]: Changing patch settings through the console didn't accept on/off or true/false.
-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);