diff --git a/src/fileio.cpp b/src/fileio.cpp index 8105e4ad0c..ef564aa92e 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -1143,7 +1143,7 @@ extern void cocoaSetApplicationBundleDir(); } #endif /* defined(WIN32) || defined(WINCE) */ -char *_personal_dir; +const char *_personal_dir; /** * Acquire the base paths (personal dir and game data dir), @@ -1162,13 +1162,14 @@ void DeterminePaths(const char *exe) } if (_config_file != NULL) { - _personal_dir = strdup(_config_file); - char *end = strrchr(_personal_dir, PATHSEPCHAR); + char *dir = strdup(_config_file); + char *end = strrchr(dir, PATHSEPCHAR); if (end == NULL) { - _personal_dir[0] = '\0'; + dir[0] = '\0'; } else { end[1] = '\0'; } + _personal_dir = dir; } else { char personal_dir[MAX_PATH]; if (FioFindFullPath(personal_dir, lengthof(personal_dir), BASE_DIR, "openttd.cfg") != NULL) { @@ -1195,9 +1196,9 @@ void DeterminePaths(const char *exe) _highscore_file = str_fmt("%shs.dat", _personal_dir); extern char *_hotkeys_file; - _hotkeys_file = str_fmt("%shotkeys.cfg", _personal_dir); + _hotkeys_file = str_fmt("%shotkeys.cfg", _personal_dir); extern char *_windows_file; - _windows_file = str_fmt("%swindows.cfg", _personal_dir); + _windows_file = str_fmt("%swindows.cfg", _personal_dir); /* Make the necessary folders */ #if !defined(__MORPHOS__) && !defined(__AMIGA__) && defined(WITH_PERSONAL_DIR) diff --git a/src/fileio_func.h b/src/fileio_func.h index d85c8630c7..449ba51fe5 100644 --- a/src/fileio_func.h +++ b/src/fileio_func.h @@ -67,7 +67,7 @@ const char *FioTarFirstDir(const char *tarname, Subdirectory subdir); void FioTarAddLink(const char *src, const char *dest, Subdirectory subdir); bool ExtractTar(const char *tar_filename, Subdirectory subdir); -extern char *_personal_dir; ///< custom directory for personal settings, saves, newgrf, etc. +extern const char *_personal_dir; ///< custom directory for personal settings, saves, newgrf, etc. /** Helper for scanning for files with a given name */ class FileScanner {