diff options
author | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2011-06-08 17:27:30 +0200 |
---|---|---|
committer | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2011-07-20 17:59:48 +0200 |
commit | 8fa94c3547dc7bd25e9bb7f0c404a00028a1107d (patch) | |
tree | 75aecde115ac1d8c35434cc6a51c6197db9488b7 /src | |
parent | 3321edae77184ae9693e3b74c9ea6235ec1f9029 (diff) | |
download | minetest-8fa94c3547dc7bd25e9bb7f0c404a00028a1107d.tar.gz minetest-8fa94c3547dc7bd25e9bb7f0c404a00028a1107d.tar.bz2 minetest-8fa94c3547dc7bd25e9bb7f0c404a00028a1107d.zip |
Check the data path before usage
When not running in place, check if the assumed data path in
../share/APPNAME exists. If it doesn't exist, fall back to ../data
instead. This allows the program to run successfully from the checkout
directory even without the run-in-place flag active.
Diffstat (limited to 'src')
-rw-r--r-- | src/porting.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/porting.cpp b/src/porting.cpp index 7de042ab5..ff8cb3862 100644 --- a/src/porting.cpp +++ b/src/porting.cpp @@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "porting.h" #include "config.h" #include "debug.h" +#include "filesys.h" #ifdef __APPLE__ #include "CoreFoundation/CoreFoundation.h" @@ -210,6 +211,11 @@ void initializePaths() path_data = std::string(buf) + "/../share/" + APPNAME; //path_data = std::string(INSTALL_PREFIX) + "/share/" + APPNAME; + if (!fs::PathExists(path_data)) { + dstream<<"WARNING: data path " << path_data << " not found!"; + path_data = std::string(buf) + "/../data"; + dstream<<" Trying " << path_data << std::endl; + } path_userdata = std::string(getenv("HOME")) + "/." + APPNAME; |