mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20:27 +00:00
Simplify input_options function
This commit is contained in:
parent
20da006556
commit
4f15c31a16
29
driver.c
29
driver.c
@ -194,32 +194,27 @@ static const input_driver_t *input_drivers[] = {
|
||||
* the drivers.
|
||||
*/
|
||||
|
||||
const char* config_get_input_driver_options(void)
|
||||
{
|
||||
char *input_options;
|
||||
int i;
|
||||
const char* config_get_input_driver_options(void) {
|
||||
char *input_options = NULL;
|
||||
int input_option_k = 0;
|
||||
int input_options_len = 0;
|
||||
unsigned offset = 0;
|
||||
|
||||
while (input_drivers[input_option_k])
|
||||
{
|
||||
union string_list_elem_attr attr;
|
||||
attr.i = 0;
|
||||
struct string_list *input_options_l = string_list_new();
|
||||
|
||||
for (input_option_k = 0; input_drivers[input_option_k]; input_option_k++) {
|
||||
const char *opt = input_drivers[input_option_k]->ident;
|
||||
input_options_len += strlen(opt) + 1;
|
||||
input_option_k++;
|
||||
string_list_append(input_options_l, opt, attr);
|
||||
}
|
||||
|
||||
input_options = (char*)calloc(input_options_len, sizeof(char));
|
||||
|
||||
for (i = 0; i < input_option_k; i++)
|
||||
{
|
||||
const char *opt = input_drivers[i]->ident;
|
||||
strlcpy(input_options + offset, opt, input_options_len - offset);
|
||||
offset += strlen(opt);
|
||||
input_options[offset] = '|';
|
||||
offset += 1;
|
||||
}
|
||||
input_options[input_options_len - 1] = '\0';
|
||||
string_list_join_concat(input_options, input_options_len, input_options_l, "|");
|
||||
|
||||
string_list_free(input_options_l);
|
||||
input_options_l = NULL;
|
||||
|
||||
return input_options;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user