diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index b9fb9a4409..3d42549d7b 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -6912,16 +6912,22 @@ static int generic_action_ok_dropdown_setting(const char *path, const char *labe case ST_STRING_OPTIONS: if (setting->get_string_representation) { - struct string_list tmp_str_list = { 0 }; - string_list_initialize(&tmp_str_list); - string_split_noalloc(&tmp_str_list, - setting->values, "|"); + char *tok, *save; + unsigned tok_idx = 0; + char *setting_values_cpy = strdup(setting->values); - if (idx < tmp_str_list.size) - strlcpy(setting->value.target.string, - tmp_str_list.elems[idx].data, setting->size); + for (tok = strtok_r(setting_values_cpy, "|", &save); tok != NULL; + tok = strtok_r(NULL, "|", &save), tok_idx++) + { + if (idx == tok_idx) + { + strlcpy(setting->value.target.string, tok, + setting->size); + break; + } + } - string_list_deinitialize(&tmp_str_list); + free(setting_values_cpy); break; } /* fallthrough */ diff --git a/retroarch.c b/retroarch.c index e1cea6e65c..21fd1023d6 100644 --- a/retroarch.c +++ b/retroarch.c @@ -4411,7 +4411,7 @@ bool command_event(enum event_command cmd, void *data) { struct string_list *str_list = (struct string_list*)data; - /* Check whether favourties playlist is at capacity */ + /* Check whether favourites playlist is at capacity */ if (playlist_size(g_defaults.content_favorites) >= playlist_capacity(g_defaults.content_favorites)) {