From 5b4193cf924d083a4eb35f87fb60966ba480f0a8 Mon Sep 17 00:00:00 2001 From: Igor Pissolati Date: Tue, 20 May 2025 21:47:35 -0300 Subject: [PATCH] Fix failing checks --- src/windows-emulator/syscalls/file.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/windows-emulator/syscalls/file.cpp b/src/windows-emulator/syscalls/file.cpp index 7f937f1c..4e765cf4 100644 --- a/src/windows-emulator/syscalls/file.cpp +++ b/src/windows-emulator/syscalls/file.cpp @@ -9,6 +9,12 @@ #include +#if defined(OS_WINDOWS) +#define fstat64 _fstat64 +#elif defined(OS_MAC) +#define fstat64 fstat +#endif + namespace syscalls { NTSTATUS handle_NtSetInformationFile(const syscall_context& c, const handle file_handle, @@ -374,7 +380,7 @@ namespace syscalls } struct _stat64 file_stat{}; - if (_fstat64(f->handle, &file_stat) != 0) + if (fstat64(f->handle, &file_stat) != 0) { return STATUS_INVALID_HANDLE; } @@ -386,7 +392,7 @@ namespace syscalls i.LastAccessTime = utils::convert_unix_to_windows_time(file_stat.st_atime); i.LastWriteTime = utils::convert_unix_to_windows_time(file_stat.st_mtime); i.ChangeTime = i.LastWriteTime; - i.FileAttributes = (file_stat.st_mode & _S_IFDIR) != 0 ? FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_NORMAL; + i.FileAttributes = (file_stat.st_mode & S_IFDIR) != 0 ? FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_NORMAL; info.write(i); @@ -801,7 +807,7 @@ namespace syscalls info.AllocationSize.QuadPart = file_stat.st_size; info.EndOfFile.QuadPart = file_stat.st_size; info.ChangeTime = info.LastWriteTime; - info.FileAttributes = (file_stat.st_mode & _S_IFDIR) != 0 ? FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_NORMAL; + info.FileAttributes = (file_stat.st_mode & S_IFDIR) != 0 ? FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_NORMAL; }); return STATUS_SUCCESS; @@ -840,7 +846,7 @@ namespace syscalls info.LastAccessTime = utils::convert_unix_to_windows_time(file_stat.st_atime); info.LastWriteTime = utils::convert_unix_to_windows_time(file_stat.st_mtime); info.ChangeTime = info.LastWriteTime; - info.FileAttributes = (file_stat.st_mode & _S_IFDIR) != 0 ? FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_NORMAL; + info.FileAttributes = (file_stat.st_mode & S_IFDIR) != 0 ? FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_NORMAL; }); return STATUS_SUCCESS;