summaryrefslogtreecommitdiff
path: root/src/utils/paths.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-11-09 17:59:14 +0300
committerAndrei Karas <akaras@inbox.ru>2013-11-09 17:59:14 +0300
commitdb1e60556c72b1b87ff2a384c556ccca724c46d6 (patch)
tree22a5f4e9c4f436ef8e746e0a2d688de80c1597a6 /src/utils/paths.cpp
parentc2bb49be52a92deccec7428b6859242688fc8987 (diff)
parent1716861f0ee2f7a3714c5b44bb0f017c3d8d3b2c (diff)
downloadplus-db1e60556c72b1b87ff2a384c556ccca724c46d6.tar.gz
plus-db1e60556c72b1b87ff2a384c556ccca724c46d6.tar.bz2
plus-db1e60556c72b1b87ff2a384c556ccca724c46d6.tar.xz
plus-db1e60556c72b1b87ff2a384c556ccca724c46d6.zip
Merge branch 'master' into stable
Diffstat (limited to 'src/utils/paths.cpp')
-rw-r--r--src/utils/paths.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/utils/paths.cpp b/src/utils/paths.cpp
index e3992cd72..e1a4ee03c 100644
--- a/src/utils/paths.cpp
+++ b/src/utils/paths.cpp
@@ -30,11 +30,18 @@
#include "resources/resourcemanager.h"
+#ifdef __native_client__
+#include <limits.h>
+#define realpath(N, R) strcpy(R, N)
+#endif
+
#ifdef WIN32
#include "utils/specialfolder.h"
#define realpath(N, R) _fullpath((R), (N), _MAX_PATH)
#elif defined __OpenBSD__
#include <limits>
+#elif defined __native_client__
+#include <limits.h>
#endif
#ifdef ANDROID
@@ -45,10 +52,17 @@
#include "debug.h"
+namespace
+{
+ std::string mPackageDir;
+} // namespace
+
std::string getRealPath(const std::string &str)
{
-#if defined(__OpenBSD__) || defined(__ANDROID__)
+#if defined(__OpenBSD__) || defined(__ANDROID__) || defined(__native_client__)
char *realPath = reinterpret_cast<char*>(calloc(PATH_MAX, sizeof(char)));
+ if (!realPath)
+ return "";
realpath(str.c_str(), realPath);
#else
char *realPath = realpath(str.c_str(), nullptr);
@@ -186,3 +200,13 @@ std::string getSdStoragePath()
return getenv("DATADIR2");
}
#endif
+
+std::string getPackageDir()
+{
+ return mPackageDir;
+}
+
+void setPackageDir(const std::string &dir)
+{
+ mPackageDir = dir;
+}