mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-27 01:22:37 -06:00
Merge pull request #5120 from zhaowenlan1779/file-write
service/fs: Update file size on write
This commit is contained in:
commit
25ebf03c35
1 changed files with 5 additions and 1 deletions
|
@ -90,7 +90,7 @@ void File::Write(Kernel::HLERequestContext& ctx) {
|
||||||
|
|
||||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 2);
|
IPC::RequestBuilder rb = rp.MakeBuilder(2, 2);
|
||||||
|
|
||||||
const FileSessionSlot* file = GetSessionData(ctx.Session());
|
FileSessionSlot* file = GetSessionData(ctx.Session());
|
||||||
|
|
||||||
// Subfiles can not be written to
|
// Subfiles can not be written to
|
||||||
if (file->subfile) {
|
if (file->subfile) {
|
||||||
|
@ -103,6 +103,10 @@ void File::Write(Kernel::HLERequestContext& ctx) {
|
||||||
std::vector<u8> data(length);
|
std::vector<u8> data(length);
|
||||||
buffer.Read(data.data(), 0, data.size());
|
buffer.Read(data.data(), 0, data.size());
|
||||||
ResultVal<std::size_t> written = backend->Write(offset, data.size(), flush != 0, data.data());
|
ResultVal<std::size_t> written = backend->Write(offset, data.size(), flush != 0, data.data());
|
||||||
|
|
||||||
|
// Update file size
|
||||||
|
file->size = backend->GetSize();
|
||||||
|
|
||||||
if (written.Failed()) {
|
if (written.Failed()) {
|
||||||
rb.Push(written.Code());
|
rb.Push(written.Code());
|
||||||
rb.Push<u32>(0);
|
rb.Push<u32>(0);
|
||||||
|
|
Loading…
Reference in a new issue