summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);