mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-29 09:44:52 +01:00
Make sorting case insensitive
This commit is contained in:
@@ -565,6 +565,15 @@ static void window_loadsave_scrollpaint()
|
||||
}
|
||||
}
|
||||
|
||||
static int strcicmp(char const *a, char const *b)
|
||||
{
|
||||
for (;; a++, b++) {
|
||||
int d = tolower(*a) - tolower(*b);
|
||||
if (d != 0 || !*a)
|
||||
return d;
|
||||
}
|
||||
}
|
||||
|
||||
static int list_item_sort(const void *a, const void *b)
|
||||
{
|
||||
const loadsave_list_item *itemA = (loadsave_list_item*)a;
|
||||
@@ -575,9 +584,9 @@ static int list_item_sort(const void *a, const void *b)
|
||||
|
||||
switch (gConfigGeneral.load_save_sort){
|
||||
case SORT_NAME_ASCENDING:
|
||||
return strcmp(itemA->name, itemB->name);
|
||||
return strcicmp(itemA->name, itemB->name);
|
||||
case SORT_NAME_DESCENDING:
|
||||
return -strcmp(itemA->name, itemB->name);
|
||||
return -strcicmp(itemA->name, itemB->name);
|
||||
case SORT_DATE_DESCENDING:
|
||||
return (int) -difftime(itemA->date_modified, itemB->date_modified);
|
||||
case SORT_DATE_ASCENDING:
|
||||
|
||||
Reference in New Issue
Block a user