From 3d6f962e4cd60f0911b6cf22387d9856bccfb916 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Wed, 23 Oct 2024 20:24:45 +0200 Subject: [PATCH] Add fixes for basic rust hello world samples --- src/windows-emulator/syscalls.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/windows-emulator/syscalls.cpp b/src/windows-emulator/syscalls.cpp index af326937..b38ea66f 100644 --- a/src/windows-emulator/syscalls.cpp +++ b/src/windows-emulator/syscalls.cpp @@ -1633,10 +1633,9 @@ namespace if (io_status_block) { - io_status_block.access([&](IO_STATUS_BLOCK& block) - { - block.Information = bytes_read; - }); + IO_STATUS_BLOCK block{}; + block.Information = bytes_read; + io_status_block.write(block); } c.emu.write_memory(buffer, temp_buffer.data(), temp_buffer.size()); @@ -1658,6 +1657,13 @@ namespace if (file_handle == STDOUT_HANDLE) { + if (io_status_block) + { + IO_STATUS_BLOCK block{}; + block.Information = length; + io_status_block.write(block); + } + c.win_emu.logger.info("%.*s", static_cast(temp_buffer.size()), temp_buffer.data()); return STATUS_SUCCESS; @@ -1673,10 +1679,9 @@ namespace if (io_status_block) { - io_status_block.access([&](IO_STATUS_BLOCK& block) - { - block.Information = bytes_written; - }); + IO_STATUS_BLOCK block{}; + block.Information = bytes_written; + io_status_block.write(block); } return STATUS_SUCCESS;