From 92e0bf68e3b4825e4093d5d67a2da3d609d84d91 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 18 Nov 2007 18:28:32 +0000 Subject: (svn r11464) -Fix: some issue that made OpenTTD on MorphOS seriously unplayable. --- src/fileio.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/fileio.cpp') 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); -- cgit v1.2.3-54-g00ecf