aboutsummaryrefslogtreecommitdiff
path: root/src/porting.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/porting.cpp')
-rw-r--r--src/porting.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/porting.cpp b/src/porting.cpp
index d902d3737..e7ed4e090 100644
--- a/src/porting.cpp
+++ b/src/porting.cpp
@@ -25,7 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "porting.h"
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__OpenBSD__)
#include <sys/types.h>
#include <sys/sysctl.h>
extern char **environ;
@@ -56,6 +56,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <crt_externs.h>
#endif
+#if defined(__HAIKU__)
+ #include <FindDirectory.h>
+#endif
+
#include "config.h"
#include "debug.h"
#include "filesys.h"
@@ -321,6 +325,12 @@ bool getCurrentExecPath(char *buf, size_t len)
return true;
}
+#elif defined(__HAIKU__)
+
+bool getCurrentExecPath(char *buf, size_t len)
+{
+ return find_path(B_APP_IMAGE_SYMBOL, B_FIND_PATH_IMAGE_PATH, NULL, buf, len) == B_OK;
+}
//// Solaris
#elif defined(__sun) || defined(sun)