mirror of https://github.com/OpenRCT2/OpenRCT2.git
Make sorting case insensitive
This commit is contained in:
parent
ce26812caa
commit
c7781e272c
|
@ -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)
|
static int list_item_sort(const void *a, const void *b)
|
||||||
{
|
{
|
||||||
const loadsave_list_item *itemA = (loadsave_list_item*)a;
|
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){
|
switch (gConfigGeneral.load_save_sort){
|
||||||
case SORT_NAME_ASCENDING:
|
case SORT_NAME_ASCENDING:
|
||||||
return strcmp(itemA->name, itemB->name);
|
return strcicmp(itemA->name, itemB->name);
|
||||||
case SORT_NAME_DESCENDING:
|
case SORT_NAME_DESCENDING:
|
||||||
return -strcmp(itemA->name, itemB->name);
|
return -strcicmp(itemA->name, itemB->name);
|
||||||
case SORT_DATE_DESCENDING:
|
case SORT_DATE_DESCENDING:
|
||||||
return (int) -difftime(itemA->date_modified, itemB->date_modified);
|
return (int) -difftime(itemA->date_modified, itemB->date_modified);
|
||||||
case SORT_DATE_ASCENDING:
|
case SORT_DATE_ASCENDING:
|
||||||
|
|
Loading…
Reference in New Issue