(Menu) Cleanups in menu_navigation.c

This commit is contained in:
twinaphex 2014-08-02 16:25:07 +02:00
parent af657a5cb0
commit 2be22e9d85

View File

@ -65,12 +65,17 @@ void menu_set_navigation_last(menu_handle_t *menu)
void menu_descend_alphabet(menu_handle_t *menu, size_t *ptr_out)
{
size_t i, ptr;
if (!menu->scroll_indices_size)
return;
size_t ptr = *ptr_out;
ptr = *ptr_out;
if (ptr == 0)
return;
size_t i = menu->scroll_indices_size - 1;
i = menu->scroll_indices_size - 1;
while (i && menu->scroll_indices[i - 1] >= ptr)
i--;
*ptr_out = menu->scroll_indices[i - 1];
@ -86,8 +91,10 @@ void menu_ascend_alphabet(menu_handle_t *menu, size_t *ptr_out)
if (!menu->scroll_indices_size)
return;
if (ptr == menu->scroll_indices[menu->scroll_indices_size - 1])
return;
while (i < menu->scroll_indices_size - 1 && menu->scroll_indices[i + 1] <= ptr)
i++;
*ptr_out = menu->scroll_indices[i + 1];