Move some variables to menu_input_ctl as static local variables

This commit is contained in:
twinaphex 2016-03-02 05:09:09 +01:00
parent d2d4312128
commit b038b4ae41

View File

@ -115,9 +115,6 @@ typedef struct menu_input
struct struct
{ {
const char **buffer;
const char *label;
char label_setting[256];
bool display; bool display;
unsigned type; unsigned type;
unsigned idx; unsigned idx;
@ -642,8 +639,11 @@ static bool menu_input_key_bind_iterate(char *s, size_t len)
bool menu_input_ctl(enum menu_input_ctl_state state, void *data) bool menu_input_ctl(enum menu_input_ctl_state state, void *data)
{ {
static char menu_input_keyboard_label_setting[256];
menu_input_t *menu_input = menu_input_get_ptr(); menu_input_t *menu_input = menu_input_get_ptr();
menu_handle_t *menu = NULL; menu_handle_t *menu = NULL;
static const char *menu_input_keyboard_label = NULL;
static const char **menu_input_keyboard_buffer;
if (!menu_input) if (!menu_input)
return false; return false;
@ -686,8 +686,8 @@ bool menu_input_ctl(enum menu_input_ctl_state state, void *data)
return false; return false;
menu_input->keyboard.display = true; menu_input->keyboard.display = true;
menu_input->keyboard.label = menu_hash_to_str(MENU_VALUE_SEARCH); menu_input_keyboard_label = menu_hash_to_str(MENU_VALUE_SEARCH);
menu_input->keyboard.buffer = menu_input_keyboard_buffer =
input_keyboard_start_line(menu, menu_input_search_cb); input_keyboard_start_line(menu, menu_input_search_cb);
break; break;
case MENU_INPUT_CTL_MOUSE_PTR: case MENU_INPUT_CTL_MOUSE_PTR:
@ -735,39 +735,39 @@ bool menu_input_ctl(enum menu_input_ctl_state state, void *data)
case MENU_INPUT_CTL_KEYBOARD_BUFF_PTR: case MENU_INPUT_CTL_KEYBOARD_BUFF_PTR:
{ {
const char **ptr = (const char**)data; const char **ptr = (const char**)data;
*ptr = *menu_input->keyboard.buffer; *ptr = *menu_input_keyboard_buffer;
} }
break; break;
case MENU_INPUT_CTL_KEYBOARD_LABEL: case MENU_INPUT_CTL_KEYBOARD_LABEL:
{ {
const char **ptr = (const char**)data; const char **ptr = (const char**)data;
*ptr = menu_input->keyboard.label; *ptr = menu_input_keyboard_label;
} }
break; break;
case MENU_INPUT_CTL_SET_KEYBOARD_LABEL: case MENU_INPUT_CTL_SET_KEYBOARD_LABEL:
{ {
char **ptr = (char**)data; char **ptr = (char**)data;
menu_input->keyboard.label = *ptr; menu_input_keyboard_label = *ptr;
} }
break; break;
case MENU_INPUT_CTL_UNSET_KEYBOARD_LABEL: case MENU_INPUT_CTL_UNSET_KEYBOARD_LABEL:
menu_input->keyboard.label = NULL; menu_input_keyboard_label = NULL;
break; break;
case MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING: case MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING:
{ {
const char **ptr = (const char**)data; const char **ptr = (const char**)data;
*ptr = menu_input->keyboard.label_setting; *ptr = menu_input_keyboard_label_setting;
} }
break; break;
case MENU_INPUT_CTL_SET_KEYBOARD_LABEL_SETTING: case MENU_INPUT_CTL_SET_KEYBOARD_LABEL_SETTING:
{ {
char **ptr = (char**)data; char **ptr = (char**)data;
strlcpy(menu_input->keyboard.label_setting, strlcpy(menu_input_keyboard_label_setting,
*ptr, sizeof(menu_input->keyboard.label_setting)); *ptr, sizeof(menu_input_keyboard_label_setting));
} }
break; break;
case MENU_INPUT_CTL_UNSET_KEYBOARD_LABEL_SETTING: case MENU_INPUT_CTL_UNSET_KEYBOARD_LABEL_SETTING:
menu_input->keyboard.label_setting[0] = '\0'; menu_input_keyboard_label_setting[0] = '\0';
break; break;
case MENU_INPUT_CTL_BIND_NONE: case MENU_INPUT_CTL_BIND_NONE:
case MENU_INPUT_CTL_BIND_SINGLE: case MENU_INPUT_CTL_BIND_SINGLE:
@ -800,7 +800,7 @@ bool menu_input_ctl(enum menu_input_ctl_state state, void *data)
menu_input->keyboard.type = line->type; menu_input->keyboard.type = line->type;
menu_input->keyboard.idx = line->idx; menu_input->keyboard.idx = line->idx;
menu_input->keyboard.buffer = menu_input_keyboard_buffer =
input_keyboard_start_line(menu, line->cb); input_keyboard_start_line(menu, line->cb);
} }
break; break;