From d1278306c75495352e50129fd9b09bcf2b883368 Mon Sep 17 00:00:00 2001 From: Brad Parker Date: Tue, 31 Oct 2017 11:52:32 -0400 Subject: [PATCH] fix negative wraparound of float/int settings --- setting_list.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/setting_list.c b/setting_list.c index 5ad74cc40d..ebb84273fd 100644 --- a/setting_list.c +++ b/setting_list.c @@ -354,7 +354,6 @@ static int setting_fraction_action_left_default( { rarch_setting_t *setting = (rarch_setting_t*)data; double min = 0.0f; - bool overflowed = false; if (!setting) return -1; @@ -363,14 +362,11 @@ static int setting_fraction_action_left_default( (void)wraparound; /* TODO/FIXME - handle this */ - overflowed = setting->step > *setting->value.target.fraction; - - if (!overflowed) - *setting->value.target.fraction = *setting->value.target.fraction - setting->step; + *setting->value.target.fraction = *setting->value.target.fraction - setting->step; if (setting->enforce_minrange) { - if (overflowed || *setting->value.target.fraction < min) + if (*setting->value.target.fraction < min) { settings_t *settings = config_get_ptr(); @@ -1043,7 +1039,6 @@ static int setting_int_action_left_default(void *data, bool wraparound) { rarch_setting_t *setting = (rarch_setting_t*)data; double min = 0.0f; - bool overflowed = false; if (!setting) return -1; @@ -1052,14 +1047,11 @@ static int setting_int_action_left_default(void *data, bool wraparound) (void)wraparound; /* TODO/FIXME - handle this */ - overflowed = setting->step > *setting->value.target.integer; - - if (!overflowed) - *setting->value.target.integer = *setting->value.target.integer - setting->step; + *setting->value.target.integer = *setting->value.target.integer - setting->step; if (setting->enforce_minrange) { - if (overflowed || *setting->value.target.integer < min) + if (*setting->value.target.integer < min) { settings_t *settings = config_get_ptr();