diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2022-12-25 20:30:21 +0100 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2022-12-29 00:46:54 +0100 |
commit | 59c0f85407d1d5d80fb88e5a6b0bab8d1abf438f (patch) | |
tree | 6bdae0197c525d6706ce83941aaf74f295a33922 /src | |
parent | bsd: Use std::span for read payloads (diff) | |
download | yuzu-59c0f85407d1d5d80fb88e5a6b0bab8d1abf438f.tar yuzu-59c0f85407d1d5d80fb88e5a6b0bab8d1abf438f.tar.gz yuzu-59c0f85407d1d5d80fb88e5a6b0bab8d1abf438f.tar.bz2 yuzu-59c0f85407d1d5d80fb88e5a6b0bab8d1abf438f.tar.lz yuzu-59c0f85407d1d5d80fb88e5a6b0bab8d1abf438f.tar.xz yuzu-59c0f85407d1d5d80fb88e5a6b0bab8d1abf438f.tar.zst yuzu-59c0f85407d1d5d80fb88e5a6b0bab8d1abf438f.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/hle_ipc.cpp | 2 | ||||
-rw-r--r-- | src/core/hle/kernel/hle_ipc.h | 5 | ||||
-rw-r--r-- | src/core/hle/service/glue/arp.cpp | 3 |
3 files changed, 6 insertions, 4 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp index 9bc72da02..36cf750de 100644 --- a/src/core/hle/kernel/hle_ipc.cpp +++ b/src/core/hle/kernel/hle_ipc.cpp @@ -325,7 +325,7 @@ Result HLERequestContext::WriteToOutgoingCommandBuffer(KThread& requesting_threa return ResultSuccess; } -std::vector<u8> HLERequestContext::ReadBuffer(std::size_t buffer_index) const { +std::vector<u8> HLERequestContext::ReadBufferCopy(std::size_t buffer_index) const { const bool is_buffer_a{BufferDescriptorA().size() > buffer_index && BufferDescriptorA()[buffer_index].Size()}; if (is_buffer_a) { diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 2242ff922..27f9628c7 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -271,9 +271,10 @@ public: return domain_message_header.has_value(); } - /// Helper function to read a buffer using the appropriate buffer descriptor - [[nodiscard]] std::vector<u8> ReadBuffer(std::size_t buffer_index = 0) const; + /// Helper function to read a copy of a buffer using the appropriate buffer descriptor + [[nodiscard]] std::vector<u8> ReadBufferCopy(std::size_t buffer_index = 0) const; + /// Helper function to get a span of a buffer using the appropriate buffer descriptor [[nodiscard]] std::span<const u8> ReadBufferSpan(std::size_t buffer_index = 0) const; /// Helper function to write a buffer using the appropriate buffer descriptor diff --git a/src/core/hle/service/glue/arp.cpp b/src/core/hle/service/glue/arp.cpp index 49b6d45fe..ce21b69e3 100644 --- a/src/core/hle/service/glue/arp.cpp +++ b/src/core/hle/service/glue/arp.cpp @@ -228,7 +228,8 @@ private: return; } - control = ctx.ReadBuffer(); + // TODO: Can this be a span? + control = ctx.ReadBufferCopy(); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(ResultSuccess); |