diff options
| author | marynate | 2014-05-25 11:34:51 +0800 |
|---|---|---|
| committer | marynate | 2014-05-25 14:50:54 +0800 |
| commit | e6c1689b69e9e0ec530902b550c9e1e2d1cd0aae (patch) | |
| tree | ec9350bef9fc1c0bf6bedd73cc5768115dd6efec /drivers/windows/dir_access_windows.cpp | |
| parent | 71355aaab7eca64bec694918c6b911a412ad17f0 (diff) | |
| download | godot-e6c1689b69e9e0ec530902b550c9e1e2d1cd0aae.tar.gz godot-e6c1689b69e9e0ec530902b550c9e1e2d1cd0aae.tar.zst godot-e6c1689b69e9e0ec530902b550c9e1e2d1cd0aae.zip | |
Diffstat (limited to 'drivers/windows/dir_access_windows.cpp')
| -rw-r--r-- | drivers/windows/dir_access_windows.cpp | 33 |
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); |
