diff options
author | rubidium <rubidium@openttd.org> | 2007-11-18 18:28:32 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-11-18 18:28:32 +0000 |
commit | 92e0bf68e3b4825e4093d5d67a2da3d609d84d91 (patch) | |
tree | 75fd97c8a7f10ea2cd73cdf46c98d32cc23e7dac /src/fileio.cpp | |
parent | dc81ea6454c3a5465b611c9a698229598d2ec401 (diff) | |
download | openttd-92e0bf68e3b4825e4093d5d67a2da3d609d84d91.tar.xz |
(svn r11464) -Fix: some issue that made OpenTTD on MorphOS seriously unplayable.
Diffstat (limited to 'src/fileio.cpp')
-rw-r--r-- | src/fileio.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/fileio.cpp b/src/fileio.cpp index f33c8e0c1..f92a7f6ab 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -363,6 +363,16 @@ void FioCreateDirectory(const char *name) CreateDirectory(OTTD2FS(name), NULL); #elif defined(OS2) && !defined(__INNOTEK_LIBC__) mkdir(OTTD2FS(name)); +#elif defined(__MORPHOS__) || defined(__AMIGAOS__) + char buf[MAX_PATH]; + ttd_strlcpy(buf, name, MAX_PATH); + + size_t len = strlen(name) - 1; + if (buf[len] == '/') { + buf[len] = '\0'; // Kill pathsep, so mkdir() will not fail + } + + mkdir(OTTD2FS(buf), 0755); #else mkdir(OTTD2FS(name), 0755); #endif @@ -720,7 +730,10 @@ void DeterminePaths(const char *exe) char *autosave_dir = str_fmt("%s%s", _personal_dir, FioGetSubdirectory(AUTOSAVE_DIR)); /* Make the necessary folders */ +#if !defined(__MORPHOS__) && !defined(__AMIGA__) && defined(WITH_PERSONAL_DIR) FioCreateDirectory(_personal_dir); +#endif + FioCreateDirectory(save_dir); FioCreateDirectory(autosave_dir); |