summaryrefslogtreecommitdiff
path: root/apps/playlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist.c')
-rw-r--r--apps/playlist.c25
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)