diff options
Diffstat (limited to 'apps/playlist.c')
-rw-r--r-- | apps/playlist.c | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/apps/playlist.c b/apps/playlist.c index 6768ac8708..9cbda3f991 100644 --- a/apps/playlist.c +++ b/apps/playlist.c | |||
@@ -1483,23 +1483,18 @@ static int get_next_dir(char *dir, bool is_forward, bool recursion) | |||
1483 | tc->sort_dir = global_settings.sort_dir; | 1483 | tc->sort_dir = global_settings.sort_dir; |
1484 | if (!is_forward) | 1484 | if (!is_forward) |
1485 | { | 1485 | { |
1486 | /* Sort options, indices of forward/reverse options differ in bit 0 */ | 1486 | static const char sortpairs[] = |
1487 | const int sortpairs[] = | ||
1488 | { | 1487 | { |
1489 | SORT_ALPHA, SORT_ALPHA_REVERSED, | 1488 | [SORT_ALPHA] = SORT_ALPHA_REVERSED, |
1490 | SORT_DATE, SORT_DATE_REVERSED, | 1489 | [SORT_DATE] = SORT_DATE_REVERSED, |
1491 | SORT_TYPE, SORT_TYPE_REVERSED, | 1490 | [SORT_TYPE] = SORT_TYPE_REVERSED, |
1492 | -1 | 1491 | [SORT_ALPHA_REVERSED] = SORT_ALPHA, |
1492 | [SORT_DATE_REVERSED] = SORT_DATE, | ||
1493 | [SORT_TYPE_REVERSED] = SORT_TYPE, | ||
1493 | }; | 1494 | }; |
1494 | 1495 | ||
1495 | for (i = 0; sortpairs[i] >= 0; i++) | 1496 | if ((unsigned)tc->sort_dir < sizeof(sortpairs)) |
1496 | { | 1497 | tc->sort_dir = sortpairs[tc->sort_dir]; |
1497 | if (sortpairs[i] == global_settings.sort_dir) | ||
1498 | { | ||
1499 | tc->sort_dir = sortpairs[i^1]; | ||
1500 | break; | ||
1501 | } | ||
1502 | } | ||
1503 | } | 1498 | } |
1504 | 1499 | ||
1505 | while (!exit) | 1500 | while (!exit) |