Merge pull request #574 from marynate/PR-fix-change-dir

Fixed DirAccessWindows::change_dir not working properly;
This commit is contained in:
Juan Linietsky 2014-09-17 10:44:51 -03:00
commit 7de53cf242

View File

@ -189,9 +189,10 @@ Error DirAccessWindows::change_dir(String p_dir) {
current_dir=real_current_dir_name; // TODO, utf8 parser
current_dir=current_dir.replace("\\","/");
}
} else {
SetCurrentDirectoryW(prev_dir.c_str());
}
return worked?OK:ERR_INVALID_PARAMETER;
} else {
@ -209,9 +210,10 @@ Error DirAccessWindows::change_dir(String p_dir) {
current_dir=real_current_dir_name; // TODO, utf8 parser
current_dir=current_dir.replace("\\","/");
}
} else {
SetCurrentDirectoryA(prev_dir.ascii().get_data());
}
return worked?OK:ERR_INVALID_PARAMETER;
@ -301,6 +303,7 @@ bool DirAccessWindows::file_exists(String p_file) {
if (!p_file.is_abs_path())
p_file=get_current_dir()+"/"+p_file;
p_file=fix_path(p_file);
p_file.replace("/","\\");
@ -323,6 +326,7 @@ bool DirAccessWindows::file_exists(String p_file) {
fileAttr = GetFileAttributesExA(p_file.ascii().get_data(), GetFileExInfoStandard, &fileInfo);
if (0xFFFFFFFF == fileAttr)
return false;
return !(fileAttr&FILE_ATTRIBUTE_DIRECTORY);
}
@ -336,6 +340,7 @@ bool DirAccessWindows::dir_exists(String p_dir) {
if (!p_dir.is_abs_path())
p_dir=get_current_dir()+"/"+p_dir;
p_dir=fix_path(p_dir);
p_dir.replace("/","\\");
@ -358,6 +363,7 @@ bool DirAccessWindows::dir_exists(String p_dir) {
fileAttr = GetFileAttributesExA(p_dir.ascii().get_data(), GetFileExInfoStandard, &fileInfo);
if (0xFFFFFFFF == fileAttr)
return false;
return (fileAttr&FILE_ATTRIBUTE_DIRECTORY);
}