diff --git a/src/common/fs/file.cpp b/src/common/fs/file.cpp index f35bbf4149..c7dec04a74 100644 --- a/src/common/fs/file.cpp +++ b/src/common/fs/file.cpp @@ -403,7 +403,11 @@ void IOFile::Open(const fs::path& path, FileAccessMode mode, FileType type, File } void IOFile::Close() { +#if defined(__APPLE__) + // NO IMPLEMENTATION YET +#else PlatformUnmap(*this); +#endif if (file) { errno = 0; const auto close_result = std::fclose(file) == 0; diff --git a/src/common/fs/file.h b/src/common/fs/file.h index 1f46e96f0d..b8f3810277 100644 --- a/src/common/fs/file.h +++ b/src/common/fs/file.h @@ -322,7 +322,11 @@ public: static_assert(!std::is_pointer_v, "T must not be a pointer to an object."); if (IsMappedFile()) { std::memcpy(&object, mmap_base + mmap_offset, sizeof(T)); +#ifdef _WIN32 + return sizeof(T) != 0; +#else return sizeof(T); +#endif } return IsOpen() ? std::fread(&object, sizeof(T), 1, file) == 1 : false; } @@ -348,7 +352,11 @@ public: static_assert(!std::is_pointer_v, "T must not be a pointer to an object."); if (IsMappedFile()) { std::memcpy(mmap_base + mmap_offset, &object, sizeof(T)); +#ifdef _WIN32 + return sizeof(T) != 0; +#else return sizeof(T); +#endif } return IsOpen() ? std::fwrite(&object, sizeof(T), 1, file) == 1 : false; }