summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fios.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/fios.cpp b/src/fios.cpp
index dfa57ccf2..56048197f 100644
--- a/src/fios.cpp
+++ b/src/fios.cpp
@@ -572,13 +572,15 @@ public:
Md5 checksum;
uint8 buffer[1024];
+ char basename[MAX_PATH]; ///< \a filename without the extension.
size_t len, size;
/* open the scenario file, but first get the name.
* This is safe as we check on extension which
* must always exist. */
- *(char *)strrchr(filename, '.') = '\0';
- f = FioFOpenFile(filename, "rb", SCENARIO_DIR, &size);
+ strecpy(basename, filename, lastof(basename));
+ *strrchr(basename, '.') = '\0';
+ f = FioFOpenFile(basename, "rb", SCENARIO_DIR, &size);
if (f == NULL) return false;
/* calculate md5sum */