summaryrefslogtreecommitdiff
path: root/core/ustring.cpp
diff options
context:
space:
mode:
authorRicardo Pérez <ricpelo@gmail.com>2015-05-05 22:27:05 +0200
committerRicardo Pérez <ricpelo@gmail.com>2015-05-05 22:27:05 +0200
commit7bb53831d8aec2507f6341bd00deae29fde8e2c2 (patch)
treebf6ce42c3dfee2707f7b8adff072297603b59a23 /core/ustring.cpp
parentaf068439829a3fec3a76c4c5d4dd2dba71ab6c5f (diff)
parentbc3c14a76b988a50e65328a932316c2e630a7ae6 (diff)
Merge pull request #6 from okamstudio/master
Sync
Diffstat (limited to 'core/ustring.cpp')
-rw-r--r--core/ustring.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/core/ustring.cpp b/core/ustring.cpp
index ffd22c1f8f..5df95ac4c2 100644
--- a/core/ustring.cpp
+++ b/core/ustring.cpp
@@ -3297,8 +3297,11 @@ String String::path_to_file(const String& p_path) const {
String src=this->replace("\\","/").get_base_dir();
String dst=p_path.replace("\\","/").get_base_dir();
-
- return src.path_to(dst)+p_path.get_file();
+ String rel = src.path_to(dst);
+ if (rel==dst) // failed
+ return p_path;
+ else
+ return rel+p_path.get_file();
}
String String::path_to(const String& p_path) const {
@@ -3333,7 +3336,9 @@ String String::path_to(const String& p_path) const {
String src_begin=src.get_slice("/",0);
String dst_begin=dst.get_slice("/",0);
- ERR_FAIL_COND_V(src_begin!=dst_begin,p_path); //return dst absolute path
+ if (src_begin!=dst_begin)
+ return p_path; //impossible to do this
+
base=src_begin;
src=src.substr(src_begin.length(),src.length());
dst=dst.substr(dst_begin.length(),dst.length());