summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/time
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2021-04-08 05:34:14 +0200
committerMorph <39850852+Morph1984@users.noreply.github.com>2021-04-08 05:34:14 +0200
commit28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555 (patch)
treedb7d4198d75ba3eed6b1253f8a0d524420f7fac4 /src/core/hle/service/time
parentMerge pull request #6143 from lat9nq/nvhost_null_memcpy (diff)
downloadyuzu-28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555.tar
yuzu-28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555.tar.gz
yuzu-28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555.tar.bz2
yuzu-28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555.tar.lz
yuzu-28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555.tar.xz
yuzu-28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555.tar.zst
yuzu-28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555.zip
Diffstat (limited to 'src/core/hle/service/time')
-rw-r--r--src/core/hle/service/time/time.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/hle/service/time/time.cpp b/src/core/hle/service/time/time.cpp
index 78543688f..f6ff39789 100644
--- a/src/core/hle/service/time/time.cpp
+++ b/src/core/hle/service/time/time.cpp
@@ -321,9 +321,14 @@ void Module::Interface::CalculateStandardUserSystemClockDifferenceByUser(
Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_Time, "called");
- IPC::RequestParser rp{ctx};
- const auto snapshot_a = rp.PopRaw<Clock::ClockSnapshot>();
- const auto snapshot_b = rp.PopRaw<Clock::ClockSnapshot>();
+ Clock::ClockSnapshot snapshot_a;
+ Clock::ClockSnapshot snapshot_b;
+
+ const auto snapshot_a_data = ctx.ReadBuffer(0);
+ const auto snapshot_b_data = ctx.ReadBuffer(1);
+
+ std::memcpy(&snapshot_a, snapshot_a_data.data(), sizeof(Clock::ClockSnapshot));
+ std::memcpy(&snapshot_b, snapshot_b_data.data(), sizeof(Clock::ClockSnapshot));
auto time_span_type{Clock::TimeSpanType::FromSeconds(snapshot_b.user_context.offset -
snapshot_a.user_context.offset)};