changeset 14578:af0dd884a764 draft

(svn r19151) -Codechange [FS#3625]: Move home directory to a better place in Haiku (jrepan)
author rubidium <rubidium@openttd.org>
date Wed, 17 Feb 2010 16:45:55 +0000
parents cabb333259ec
children fdc86397284d
files config.lib src/ai/api/ai_changelog.hpp src/fileio.cpp
diffstat 3 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/config.lib
+++ b/config.lib
@@ -1018,7 +1018,7 @@
 	fi
 
 	if [ "$personal_dir" = "1" ]; then
-		if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ] || [ "$os" = "DOS" ]; then
+		if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ] || [ "$os" = "DOS" ] || [ "$os" == "HAIKU" ]; then
 			personal_dir="OpenTTD"
 		elif [ "$os" = "OSX" ]; then
 			personal_dir="Documents/OpenTTD"
--- a/src/ai/api/ai_changelog.hpp
+++ b/src/ai/api/ai_changelog.hpp
@@ -16,7 +16,7 @@
  *
  * \b 1.1.0
  *
- * 1.0.0 is not yet released. The following changes are not set in stone yet.
+ * 1.1.0 is not yet released. The following changes are not set in stone yet.
  *
  * \b 1.0.0
  *
--- a/src/fileio.cpp
+++ b/src/fileio.cpp
@@ -18,6 +18,9 @@
 #include "tar_type.h"
 #ifdef WIN32
 #include <windows.h>
+#elif defined(__HAIKU__)
+#include <Path.h>
+#include <storage/FindDirectory.h>
 #else
 #ifdef OPENBSD
 #include <unistd.h>
@@ -849,12 +852,18 @@
 #if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || defined(OS2) || !defined(WITH_PERSONAL_DIR)
 	_searchpaths[SP_PERSONAL_DIR] = NULL;
 #else
+#ifdef __HAIKU__
+	BPath path;
+	find_directory(B_USER_SETTINGS_DIRECTORY, &path);
+	const char *homedir = path.Path();
+#else
 	const char *homedir = getenv("HOME");
 
 	if (homedir == NULL) {
 		const struct passwd *pw = getpwuid(getuid());
 		homedir = (pw == NULL) ? "" : pw->pw_dir;
 	}
+#endif
 
 	snprintf(tmp, MAX_PATH, "%s" PATHSEP "%s", homedir, PERSONAL_DIR);
 	AppendPathSeparator(tmp, MAX_PATH);