summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--os2.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/os2.c b/os2.c
index d61f3ed6d..519e64c85 100644
--- a/os2.c
+++ b/os2.c
@@ -29,6 +29,11 @@
#include <SDL.h>
#endif
+static inline int strcasecmp(const char* s1, const char* s2)
+{
+ return stricmp(s1, s2);
+}
+
static char *_fios_path;
static char *_fios_save_path;
static char *_fios_scn_path;
@@ -53,7 +58,7 @@ int compare_FiosItems(const void *a, const void *b)
if (_savegame_sort_order < 2) // sort by date
r = da->mtime < db->mtime ? -1 : 1;
else
- r = stricmp(
+ r = strcasecmp(
da->title[0] != '\0' ? da->title : da->name,
db->title[0] != '\0' ? db->title : db->name
);
@@ -153,7 +158,7 @@ FiosItem *FiosGetSavegameList(int *num, int mode)
if (stat(filename, &sb) || S_ISDIR(sb.st_mode)) continue;
t = strrchr(dirent->d_name, '.');
- if (t != NULL && stricmp(t, ".sav") == 0) { // OpenTTD
+ if (t != NULL && strcasecmp(t, ".sav") == 0) { // OpenTTD
fios = FiosAlloc();
fios->type = FIOS_TYPE_FILE;
fios->mtime = sb.st_mtime;
@@ -161,9 +166,9 @@ FiosItem *FiosGetSavegameList(int *num, int mode)
ttd_strlcpy(fios->name, dirent->d_name, lengthof(fios->name));
} else if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
if (t != NULL && (
- stricmp(t, ".ss1") == 0 ||
- stricmp(t, ".sv1") == 0 ||
- stricmp(t, ".sv2") == 0
+ strcasecmp(t, ".ss1") == 0 ||
+ strcasecmp(t, ".sv1") == 0 ||
+ strcasecmp(t, ".sv2") == 0
)) { // TTDLX(Patch)
fios = FiosAlloc();
fios->type = FIOS_TYPE_OLDFILE;
@@ -273,7 +278,7 @@ FiosItem *FiosGetScenarioList(int *num, int mode)
if (stat(filename, &sb) || S_ISDIR(sb.st_mode)) continue;
t = strrchr(dirent->d_name, '.');
- if (t != NULL && stricmp(t, ".scn") == 0) { // OpenTTD
+ if (t != NULL && strcasecmp(t, ".scn") == 0) { // OpenTTD
fios = FiosAlloc();
fios->type = FIOS_TYPE_SCENARIO;
fios->mtime = sb.st_mtime;
@@ -282,8 +287,8 @@ FiosItem *FiosGetScenarioList(int *num, int mode)
} else if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO ||
mode == SLD_NEW_GAME) {
if (t != NULL && (
- stricmp(t, ".sv0") == 0 ||
- stricmp(t, ".ss0") == 0
+ strcasecmp(t, ".sv0") == 0 ||
+ strcasecmp(t, ".ss0") == 0
)) { // TTDLX(Patch)
fios = FiosAlloc();
fios->type = FIOS_TYPE_OLD_SCENARIO;
@@ -410,7 +415,7 @@ void FiosMakeSavegameName(char *buf, const char *name)
// Don't append the extension, if it is already there
period = strrchr(name, '.');
- if (period != NULL && stricmp(period, extension) == 0) extension = "";
+ if (period != NULL && strcasecmp(period, extension) == 0) extension = "";
sprintf(buf, "%s\\%s%s", _fios_path, name, extension);
}