Caio Oliveira 5 days ago
parent
commit
ef5a2b0a6c
  1. 6
      src/common/fs/file.cpp
  2. 6
      src/common/fs/file.h

6
src/common/fs/file.cpp

@ -530,13 +530,13 @@ bool IOFile::Seek(s64 offset, SeekOrigin origin) const {
// fuck you to whoever made this method const
switch (origin) {
case SeekOrigin::SetOrigin:
mmap_offset = off_t(offset);
mmap_offset = s64(offset);
break;
case SeekOrigin::CurrentPosition:
mmap_offset += off_t(offset);
mmap_offset += s64(offset);
break;
case SeekOrigin::End:
mmap_offset = off_t(mmap_size) + off_t(offset);
mmap_offset = s64(mmap_size) + s64(offset);
break;
}
return true;

6
src/common/fs/file.h

@ -323,7 +323,7 @@ public:
if (IsMappedFile()) {
std::memcpy(&object, mmap_base + mmap_offset, sizeof(T));
#ifdef _WIN32
return sizeof(T) != 0;
return bool(sizeof(T));
#else
return sizeof(T);
#endif
@ -442,7 +442,7 @@ public:
[[nodiscard]] s64 Tell() const;
#ifdef _WIN32
inline bool IsMappedFile() const noexcept { return file_handle != nullptr; }
inline bool IsMappedFile() const noexcept { return mapping_handle != nullptr; }
#else // POSIX
inline bool IsMappedFile() const noexcept { return mmap_fd != -1; }
#endif
@ -462,7 +462,7 @@ public:
#endif
u8* mmap_base = nullptr;
size_t mmap_size = 0;
mutable off_t mmap_offset = 0; // fuck you
mutable s64 mmap_offset = 0; // fuck you
};
} // namespace Common::FS
Loading…
Cancel
Save