浏览代码

Merge pull request #10986 from hpvb/fix-unix-file-open

Fix UNIX file open
Rémi Verschelde 8 年之前
父节点
当前提交
44adf75cd5
共有 1 个文件被更改,包括 8 次插入9 次删除
  1. 8 9
      drivers/unix/file_access_unix.cpp

+ 8 - 9
drivers/unix/file_access_unix.cpp

@@ -91,15 +91,14 @@ Error FileAccessUnix::_open(const String &p_path, int p_mode_flags) {
 	//printf("opening %s as %s\n", p_path.utf8().get_data(), path.utf8().get_data());
 	//printf("opening %s as %s\n", p_path.utf8().get_data(), path.utf8().get_data());
 	struct stat st;
 	struct stat st;
 	int err = stat(path.utf8().get_data(), &st);
 	int err = stat(path.utf8().get_data(), &st);
-	if (err)
-		return ERR_FILE_CANT_OPEN;
-
-	switch (st.st_mode & S_IFMT) {
-		case S_IFLNK:
-		case S_IFREG:
-			break;
-		default:
-			return ERR_FILE_CANT_OPEN;
+	if (!err) {
+		switch (st.st_mode & S_IFMT) {
+			case S_IFLNK:
+			case S_IFREG:
+				break;
+			default:
+				return ERR_FILE_CANT_OPEN;
+		}
 	}
 	}
 
 
 	if (is_backup_save_enabled() && (p_mode_flags & WRITE) && !(p_mode_flags & READ)) {
 	if (is_backup_save_enabled() && (p_mode_flags & WRITE) && !(p_mode_flags & READ)) {