diff --git a/deps/ox/src/ox/fs/filesystem/directory.hpp b/deps/ox/src/ox/fs/filesystem/directory.hpp index 741ee28b..1e5d246f 100644 --- a/deps/ox/src/ox/fs/filesystem/directory.hpp +++ b/deps/ox/src/ox/fs/filesystem/directory.hpp @@ -236,7 +236,7 @@ ox::Error Directory::write(PathIterator path, InodeId_t in const auto entryDataSize = DirectoryEntry::DirectoryEntryData::spaceNeeded(name->len() + 1); const auto entrySize = DirectoryEntry::spaceNeeded(entryDataSize); - const auto newSize = Buffer::spaceNeeded(m_size + entrySize); + const auto newSize = old.size() + Buffer::spaceNeeded(m_size + entrySize); auto cpy = ox_malloca(newSize, Buffer, *old, oldStat.value.size); if (cpy == nullptr) { oxTrace("ox::fs::Directory::write::fail") << "Could not allocate memory for copy of Directory"; diff --git a/deps/ox/src/ox/fs/test/tests.cpp b/deps/ox/src/ox/fs/test/tests.cpp index 1efa5157..e5e4d6cc 100644 --- a/deps/ox/src/ox/fs/test/tests.cpp +++ b/deps/ox/src/ox/fs/test/tests.cpp @@ -185,10 +185,10 @@ map tests = { oxAssert(dir.find("file1").value == 1, "Could not find file1"); oxTrace("ox::fs::test::Directory") << "write 2"; - oxAssert(dir.write("/file3", 3) == 0, "Directory write of file3 failed"); + oxAssert(dir.write("/file3", 3), "Directory write of file3 failed"); oxTrace("ox::fs::test::Directory") << "write 3"; - oxAssert(dir.write("/file2", 2) == 0, "Directory write of file2 failed"); + oxAssert(dir.write("/file2", 2), "Directory write of file2 failed"); return 0; }