diff options
author | bunnei <bunneidev@gmail.com> | 2021-04-10 22:11:53 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-10 22:11:53 -0700 |
commit | 4f60818eaecfb7dfae9f89523a7dd4a350979157 (patch) | |
tree | 14c75e6b1a84e52afe124a7aa6f47a6c9f25530f /src | |
parent | 290b452ea18adb140615825e902dad200a6dfda8 (diff) | |
parent | 28d3661a5cd98e3a1e7e18cda8cf9e4b0d2ae555 (diff) |
Merge pull request #6167 from Morph1984/time-fix
service: time: Fix CalculateStandardUserSystemClockDifferenceByUser
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/service/time/time.cpp | 11 |
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)}; |