};
const struct mapping_t SortSidebarMethods[] = {
- { "count", SORT_COUNT },
- { "flagged", SORT_FLAGGED },
- { "new", SORT_COUNT_NEW },
- { "path", SORT_PATH },
- { "alpha", SORT_PATH },
- { "name", SORT_PATH },
- { "unsorted", SORT_ORDER },
- { NULL, 0 }
+ { "alpha", SORT_PATH },
+ { "count", SORT_COUNT },
+ { "desc", SORT_DESC },
+ { "flagged", SORT_FLAGGED },
+ { "mailbox-order", SORT_ORDER },
+ { "name", SORT_PATH },
+ { "new", SORT_COUNT_NEW },
+ { "path", SORT_PATH },
+ { "unsorted", SORT_ORDER },
+ { NULL, 0 }
};
if (!arr)
return;
- qsort (arr, arr_len, sizeof (*arr), cb_qsort_buffy);
+ /* These are the only sort methods we understand */
+ short ssm = (SidebarSortMethod & SORT_MASK);
+ if ((ssm == SORT_COUNT) ||
+ (ssm == SORT_COUNT_NEW) ||
+ (ssm == SORT_DESC) ||
+ (ssm == SORT_FLAGGED) ||
+ (ssm == SORT_PATH)) {
+ qsort (arr, arr_len, sizeof (*arr), cb_qsort_buffy);
+ }
int i;
for (i = 0; i < (arr_len - 1); i++) {