vfs_real: ensure size cache is reset on write

This commit is contained in:
Liam 2023-06-16 16:43:14 -04:00
parent bf47f777b1
commit 94e7cb05da

View file

@ -270,6 +270,7 @@ std::size_t RealVfsFile::GetSize() const {
} }
bool RealVfsFile::Resize(std::size_t new_size) { bool RealVfsFile::Resize(std::size_t new_size) {
size.reset();
base.RefreshReference(path, perms, *reference); base.RefreshReference(path, perms, *reference);
return reference->file ? reference->file->SetSize(new_size) : false; return reference->file ? reference->file->SetSize(new_size) : false;
} }
@ -295,6 +296,7 @@ std::size_t RealVfsFile::Read(u8* data, std::size_t length, std::size_t offset)
} }
std::size_t RealVfsFile::Write(const u8* data, std::size_t length, std::size_t offset) { std::size_t RealVfsFile::Write(const u8* data, std::size_t length, std::size_t offset) {
size.reset();
base.RefreshReference(path, perms, *reference); base.RefreshReference(path, perms, *reference);
if (!reference->file || !reference->file->Seek(static_cast<s64>(offset))) { if (!reference->file || !reference->file->Seek(static_cast<s64>(offset))) {
return 0; return 0;