aboutsummaryrefslogtreecommitdiff
path: root/drivers/windows/dir_access_windows.cpp
diff options
context:
space:
mode:
authorreduz2014-06-11 01:19:39 -0300
committerreduz2014-06-11 01:19:39 -0300
commitbb0dd1c5f9c1219eb5d4880f5521943f66b8d03f (patch)
treed7bd13bad144c41f2e8bb448d5d233b46402738b /drivers/windows/dir_access_windows.cpp
parent2bf34875debd1b60809d22cf61a300b56cdfe084 (diff)
parente6c1689b69e9e0ec530902b550c9e1e2d1cd0aae (diff)
downloadgodot-bb0dd1c5f9c1219eb5d4880f5521943f66b8d03f.tar.gz
godot-bb0dd1c5f9c1219eb5d4880f5521943f66b8d03f.tar.zst
godot-bb0dd1c5f9c1219eb5d4880f5521943f66b8d03f.zip
Merge pull request #459 from marynate/PR-diracccess-dir-exists
Add DirAccess:dir_exist api
Diffstat (limited to '')
-rw-r--r--drivers/windows/dir_access_windows.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp
index 30f6ff6d8..aacd02ca2 100644
--- a/drivers/windows/dir_access_windows.cpp
+++ b/drivers/windows/dir_access_windows.cpp
@@ -303,6 +303,39 @@ bool DirAccessWindows::file_exists(String p_file) {
return false;
}
+bool DirAccessWindows::dir_exists(String p_dir) {
+
+ GLOBAL_LOCK_FUNCTION
+
+ if (!p_dir.is_abs_path())
+ p_dir=get_current_dir()+"/"+p_dir;
+ p_dir=fix_path(p_dir);
+
+ p_dir.replace("/","\\");
+
+ if (unicode) {
+
+ DWORD fileAttr;
+
+ fileAttr = GetFileAttributesW(p_dir.c_str());
+ if (0xFFFFFFFF == fileAttr)
+ return false;
+
+ return (fileAttr&FILE_ATTRIBUTE_DIRECTORY);
+
+ } else {
+ DWORD fileAttr;
+
+ fileAttr = GetFileAttributesA(p_dir.ascii().get_data());
+ if (0xFFFFFFFF == fileAttr)
+ return false;
+ return (fileAttr&FILE_ATTRIBUTE_DIRECTORY);
+
+ }
+
+ return false;
+}
+
Error DirAccessWindows::rename(String p_path,String p_new_path) {
p_path=fix_path(p_path);