From 9a355b8f2e4b33d941cc3e2895350e60b4de89be Mon Sep 17 00:00:00 2001 From: radius Date: Thu, 12 Apr 2018 14:20:38 -0500 Subject: [PATCH] remap-redux: try to fix more warnings --- input/input_remapping.c | 130 ++++++++++++++++++---------------- menu/cbs/menu_cbs_get_value.c | 2 +- menu/cbs/menu_cbs_left.c | 3 +- menu/cbs/menu_cbs_right.c | 3 +- 4 files changed, 71 insertions(+), 67 deletions(-) diff --git a/input/input_remapping.c b/input/input_remapping.c index 96ffd40557..964d78d8ab 100644 --- a/input/input_remapping.c +++ b/input/input_remapping.c @@ -39,7 +39,7 @@ static unsigned old_libretro_device[MAX_USERS]; **/ bool input_remapping_load_file(void *data, const char *path) { - unsigned i, j; + unsigned i, j, k; config_file_t *conf = (config_file_t*)data; settings_t *settings = config_get_ptr(); global_t *global = global_get_ptr(); @@ -54,9 +54,9 @@ bool input_remapping_load_file(void *data, const char *path) for (i = 0; i < MAX_USERS; i++) { char s1[64], s2[64], s3[64]; - char btn_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}}; - char key_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}}; - char stk_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}}; + char btn_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}}; + char key_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}}; + char stk_ident[8][128] = {{0}}; char key_strings[RARCH_FIRST_CUSTOM_BIND + 8][128] = { "b", "y", "select", "start", @@ -75,52 +75,55 @@ bool input_remapping_load_file(void *data, const char *path) snprintf(s2, sizeof(s2), "input_player%u_key", i + 1); snprintf(s3, sizeof(s3), "input_player%u_stk", i + 1); - for (j = 0; j < RARCH_FIRST_CUSTOM_BIND; j++) + for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++) { - int btn_remap = -1; - int key_remap = -1; + if (j < RARCH_FIRST_CUSTOM_BIND) + { + int btn_remap = -1; + int key_remap = -1; - fill_pathname_join_delim(btn_ident[j], s1, - key_strings[j], '_', sizeof(btn_ident[j])); - fill_pathname_join_delim(key_ident[j], s2, - key_strings[j], '_', sizeof(btn_ident[j])); + fill_pathname_join_delim(btn_ident[j], s1, + key_strings[j], '_', sizeof(btn_ident[j])); + fill_pathname_join_delim(key_ident[j], s2, + key_strings[j], '_', sizeof(btn_ident[j])); - if (config_get_int(conf, btn_ident[j], &btn_remap) - && btn_remap != -1) - settings->uints.input_remap_ids[i][j] = btn_remap; - else if (config_get_int(conf, btn_ident[j], &btn_remap) - && btn_remap == -1) - settings->uints.input_remap_ids[i][j] = RARCH_UNMAPPED; - /* else do nothing, important */ + if (config_get_int(conf, btn_ident[j], &btn_remap) + && btn_remap != -1) + settings->uints.input_remap_ids[i][j] = btn_remap; + else if (config_get_int(conf, btn_ident[j], &btn_remap) + && btn_remap == -1) + settings->uints.input_remap_ids[i][j] = RARCH_UNMAPPED; + /* else do nothing, important */ - if (config_get_int(conf, key_ident[j], &key_remap)) - settings->uints.input_keymapper_ids[i][j] = key_remap; + if (config_get_int(conf, key_ident[j], &key_remap)) + settings->uints.input_keymapper_ids[i][j] = key_remap; + else + settings->uints.input_keymapper_ids[i][j] = RETROK_UNKNOWN; + } else - settings->uints.input_keymapper_ids[i][j] = RETROK_UNKNOWN; - } + { + int stk_remap = -1; + k = j - RARCH_FIRST_CUSTOM_BIND; - for (j = RARCH_FIRST_CUSTOM_BIND; j < RARCH_FIRST_CUSTOM_BIND + 8; j++) - { - int stk_remap = -1; + fill_pathname_join_delim(stk_ident[k], s3, + key_strings[j], '$', sizeof(stk_ident[k])); - fill_pathname_join_delim(stk_ident[j], s3, - key_strings[j], '$', sizeof(stk_ident[j])); + snprintf(stk_ident[k], + sizeof(stk_ident[k]), + "%s_%s", + s3, + key_strings[j]); - snprintf(stk_ident[j], - sizeof(stk_ident[j]), - "%s_%s", - s3, - key_strings[j]); + /* RARCH_LOG("pre_ident: %s:%d\n", stk_ident[j], settings->uints.input_remap_ids[i][j]); */ - /* RARCH_LOG("pre_ident: %s:%d\n", stk_ident[j], settings->uints.input_remap_ids[i][j]); */ + if (config_get_int(conf, stk_ident[k], &stk_remap) && stk_remap != -1) + settings->uints.input_remap_ids[i][j] = stk_remap; + else if (config_get_int(conf, stk_ident[k], &stk_remap) && stk_remap == -1) + settings->uints.input_remap_ids[i][j] = RARCH_UNMAPPED; + /* else do nothing, important */ - if (config_get_int(conf, stk_ident[j], &stk_remap) && stk_remap != -1) - settings->uints.input_remap_ids[i][j] = stk_remap; - else if (config_get_int(conf, stk_ident[j], &stk_remap) && stk_remap == -1) - settings->uints.input_remap_ids[i][j] = RARCH_UNMAPPED; - /* else do nothing, important */ - - /*RARCH_LOG("stk_ident: %s:%d\n", stk_ident[j], settings->uints.input_remap_ids[i][j]);*/ + /*RARCH_LOG("stk_ident: %s:%d\n", stk_ident[j], settings->uints.input_remap_ids[i][j]);*/ + } } snprintf(s1, sizeof(s1), "input_player%u_analog_dpad_mode", i + 1); @@ -146,7 +149,7 @@ bool input_remapping_load_file(void *data, const char *path) bool input_remapping_save_file(const char *path) { bool ret; - unsigned i, j; + unsigned i, j, k; size_t path_size = PATH_MAX_LENGTH * sizeof(char); char *buf = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); char *remap_file = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); @@ -178,9 +181,9 @@ bool input_remapping_save_file(const char *path) for (i = 0; i < max_users; i++) { char s1[64], s2[64], s3[64]; - char btn_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}}; - char key_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}}; - char stk_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}}; + char btn_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}}; + char key_ident[RARCH_FIRST_CUSTOM_BIND][128] = {{0}}; + char stk_ident[8][128] = {{0}}; char key_strings[RARCH_FIRST_CUSTOM_BIND + 8][128] = { "b", "y", "select", "start", @@ -197,14 +200,15 @@ bool input_remapping_save_file(const char *path) for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++) { - fill_pathname_join_delim(btn_ident[j], s1, - key_strings[j], '_', sizeof(btn_ident[j])); - fill_pathname_join_delim(key_ident[j], s2, - key_strings[j], '_', sizeof(btn_ident[j])); - /* only save values that have been modified */ if(j < RARCH_FIRST_CUSTOM_BIND) { + fill_pathname_join_delim(btn_ident[j], s1, + key_strings[j], '_', sizeof(btn_ident[j])); + fill_pathname_join_delim(key_ident[j], s2, + key_strings[j], '_', sizeof(btn_ident[j])); + + /* only save values that have been modified */ if(settings->uints.input_remap_ids[i][j] != j && settings->uints.input_remap_ids[i][j] != RARCH_UNMAPPED) config_set_int(conf, btn_ident[j], settings->uints.input_remap_ids[i][j]); @@ -221,15 +225,16 @@ bool input_remapping_save_file(const char *path) } else { - fill_pathname_join_delim(stk_ident[j], s3, - key_strings[j], '_', sizeof(stk_ident[j])); + k = j - RARCH_FIRST_CUSTOM_BIND; + fill_pathname_join_delim(stk_ident[k], s3, + key_strings[j], '_', sizeof(stk_ident[k])); if(settings->uints.input_remap_ids[i][j] != j && settings->uints.input_remap_ids[i][j] != RARCH_UNMAPPED) - config_set_int(conf, stk_ident[j], + config_set_int(conf, stk_ident[k], settings->uints.input_remap_ids[i][j]); else if(settings->uints.input_remap_ids[i][j] != j && settings->uints.input_remap_ids[i][j] == RARCH_UNMAPPED) - config_set_int(conf, stk_ident[j], + config_set_int(conf, stk_ident[k], -1); else config_unset(conf,btn_ident[j]); @@ -289,16 +294,17 @@ void input_remapping_set_defaults(bool deinit) for (i = 0; i < MAX_USERS; i++) { - for (j = 0; j < RARCH_FIRST_CUSTOM_BIND; j++) + for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 8; j++) { - const struct retro_keybind *keybind = &input_config_binds[i][j]; - if (keybind) - settings->uints.input_remap_ids[i][j] = keybind->id; - settings->uints.input_keymapper_ids[i][j] = RETROK_UNKNOWN; - } - for (j = RARCH_FIRST_CUSTOM_BIND; j < RARCH_FIRST_CUSTOM_BIND + 8; j++) - { - settings->uints.input_remap_ids[i][j] = j; + if (j < RARCH_FIRST_CUSTOM_BIND) + { + const struct retro_keybind *keybind = &input_config_binds[i][j]; + if (keybind) + settings->uints.input_remap_ids[i][j] = keybind->id; + settings->uints.input_keymapper_ids[i][j] = RETROK_UNKNOWN; + } + else + settings->uints.input_remap_ids[i][j] = j; } if (old_analog_dpad_mode[i]) diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index 6557e3f982..6ccfb0f31a 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -618,7 +618,7 @@ static void menu_action_setting_disp_set_label_input_desc_kbd( remap_id = settings->uints.input_keymapper_ids[offset][id]; - for (key_id = 0; key_id < RARCH_MAX_KEYS; key_id++) + for (key_id = 0; key_id < RARCH_MAX_KEYS - 1; key_id++) { if(remap_id == key_descriptors[key_id].key) break; diff --git a/menu/cbs/menu_cbs_left.c b/menu/cbs/menu_cbs_left.c index 04a403ca2e..6e306b3b97 100644 --- a/menu/cbs/menu_cbs_left.c +++ b/menu/cbs/menu_cbs_left.c @@ -394,8 +394,7 @@ static int action_left_input_desc_kbd(unsigned type, const char *label, remap_id = settings->uints.input_keymapper_ids[offset][id]; - for (key_id = 0; key_id < RARCH_MAX_KEYS + - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN; key_id++) + for (key_id = 0; key_id < RARCH_MAX_KEYS - 1; key_id++) { if(remap_id == key_descriptors[key_id].key) break; diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index 0f2fa245a6..fd5c9ff8f1 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -120,8 +120,7 @@ int action_right_input_desc_kbd(unsigned type, const char *label, remap_id = settings->uints.input_keymapper_ids[offset][id]; - for (key_id = 0; key_id < MENU_SETTINGS_INPUT_DESC_KBD_END - - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN; key_id++) + for (key_id = 0; key_id < RARCH_MAX_KEYS - 1; key_id++) { if(remap_id == key_descriptors[key_id].key) break;