diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2016-03-05 13:13:08 +0100 |
---|---|---|
committer | Rémi Verschelde <remi@verschelde.fr> | 2016-03-05 13:13:08 +0100 |
commit | 21335e502cfb2ad2cfc62aafd1fa621823c9089d (patch) | |
tree | 25880b52be7f2eb71ca0dec365b758967630df9c | |
parent | 6b1ca582f94b23e000e8c930586bf980e12e622c (diff) | |
parent | d7052ddba334de3df1190837c6d8589b48799965 (diff) |
Merge pull request #3893 from leezh/diraccess_fix
Added relative paths for DirAccess::remove()
-rw-r--r-- | drivers/unix/dir_access_unix.cpp | 7 | ||||
-rw-r--r-- | drivers/windows/dir_access_windows.cpp | 7 | ||||
-rw-r--r-- | platform/flash/dir_access_flash.cpp | 4 | ||||
-rw-r--r-- | platform/osx/dir_access_osx.mm | 7 |
4 files changed, 17 insertions, 8 deletions
diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp index 23a63be339..8b097ad25e 100644 --- a/drivers/unix/dir_access_unix.cpp +++ b/drivers/unix/dir_access_unix.cpp @@ -292,8 +292,11 @@ Error DirAccessUnix::rename(String p_path,String p_new_path) { } Error DirAccessUnix::remove(String p_path) { - p_path=fix_path(p_path); - + if (p_path.is_rel_path()) + p_path=get_current_dir().plus_file(p_path); + else + p_path=fix_path(p_path); + struct stat flags; if ((stat(p_path.utf8().get_data(),&flags)!=0)) return FAILED; diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp index 0a413979fc..b9476b870b 100644 --- a/drivers/windows/dir_access_windows.cpp +++ b/drivers/windows/dir_access_windows.cpp @@ -310,8 +310,11 @@ Error DirAccessWindows::rename(String p_path,String p_new_path) { Error DirAccessWindows::remove(String p_path) { - p_path=fix_path(p_path); - + if (p_path.is_rel_path()) + p_path=get_current_dir().plus_file(p_path); + else + p_path=fix_path(p_path); + printf("erasing %s\n",p_path.utf8().get_data()); //WIN32_FILE_ATTRIBUTE_DATA fileInfo; //DWORD fileAttr = GetFileAttributesExW(p_path.c_str(), GetFileExInfoStandard, &fileInfo); diff --git a/platform/flash/dir_access_flash.cpp b/platform/flash/dir_access_flash.cpp index 443242fd99..ce9eed2c59 100644 --- a/platform/flash/dir_access_flash.cpp +++ b/platform/flash/dir_access_flash.cpp @@ -183,12 +183,12 @@ size_t DirAccessFlash::get_space_left() { Error DirAccessFlash::rename(String p_from, String p_to) { - return FAILED; + ERR_FAIL_V(ERR_UNAVAILABLE); }; Error DirAccessFlash::remove(String p_name) { - return FAILED; + ERR_FAIL_V(ERR_UNAVAILABLE); }; extern char* psp_drive; diff --git a/platform/osx/dir_access_osx.mm b/platform/osx/dir_access_osx.mm index e345bea60a..29f8fda663 100644 --- a/platform/osx/dir_access_osx.mm +++ b/platform/osx/dir_access_osx.mm @@ -297,8 +297,11 @@ Error DirAccessOSX::rename(String p_path,String p_new_path) { } Error DirAccessOSX::remove(String p_path) { - p_path=fix_path(p_path); - + if (p_path.is_rel_path()) + p_path=get_current_dir().plus_file(p_path); + else + p_path=fix_path(p_path); + struct stat flags; if ((stat(p_path.utf8().get_data(),&flags)!=0)) return FAILED; |