summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-03-09 21:55:17 +0000
committerrubidium <rubidium@openttd.org>2009-03-09 21:55:17 +0000
commitc4c0a09927c25654e2457afe3997510364fca1d5 (patch)
tree241244fd8246bea9c7143aaba362ea886dd980b0
parentaa7a19fd49e0014f7d6c5513fa82f6d6a844ac2a (diff)
downloadopenttd-c4c0a09927c25654e2457afe3997510364fca1d5.tar.xz
(svn r15657) -Fix [FS#2716]: undeterministic file sorting when the date is equal for all files
-rw-r--r--src/fios.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/fios.cpp b/src/fios.cpp
index 9d5db867a..7a0573acb 100644
--- a/src/fios.cpp
+++ b/src/fios.cpp
@@ -51,12 +51,12 @@ int CDECL compare_FiosItems(const void *a, const void *b)
const FiosItem *db = (const FiosItem *)b;
int r = 0;
- if ((_savegame_sort_order & SORT_BY_NAME) == 0) {
+ if ((_savegame_sort_order & SORT_BY_NAME) == 0 && da->mtime != db->mtime) {
r = da->mtime < db->mtime ? -1 : 1;
+ } else {
+ r = strcasecmp(da->title, db->title);
}
- if (r == 0) r = strcasecmp(da->title, db->title);
-
if (_savegame_sort_order & SORT_DESCENDING) r = -r;
return r;
}