summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-01-10 23:05:21 +0100
committerGitHub <noreply@github.com>2019-01-10 23:05:21 +0100
commitc9ef8b0af1a5908822ca0f3bb3b2238018a555e8 (patch)
tree157da486e44b5f7083607159e1bb8bb3e4f20842 /src/core/hle/service
parentMerge pull request #1939 from DarkLordZach/web-applet (diff)
parentsettings: Fix comment structure (diff)
downloadyuzu-c9ef8b0af1a5908822ca0f3bb3b2238018a555e8.tar
yuzu-c9ef8b0af1a5908822ca0f3bb3b2238018a555e8.tar.gz
yuzu-c9ef8b0af1a5908822ca0f3bb3b2238018a555e8.tar.bz2
yuzu-c9ef8b0af1a5908822ca0f3bb3b2238018a555e8.tar.lz
yuzu-c9ef8b0af1a5908822ca0f3bb3b2238018a555e8.tar.xz
yuzu-c9ef8b0af1a5908822ca0f3bb3b2238018a555e8.tar.zst
yuzu-c9ef8b0af1a5908822ca0f3bb3b2238018a555e8.zip
Diffstat (limited to 'src/core/hle/service')
-rw-r--r--src/core/hle/service/time/time.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/core/hle/service/time/time.cpp b/src/core/hle/service/time/time.cpp
index 16564de24..c13640ad8 100644
--- a/src/core/hle/service/time/time.cpp
+++ b/src/core/hle/service/time/time.cpp
@@ -12,9 +12,16 @@
#include "core/hle/kernel/client_session.h"
#include "core/hle/service/time/interface.h"
#include "core/hle/service/time/time.h"
+#include "core/settings.h"
namespace Service::Time {
+static std::chrono::seconds GetSecondsSinceEpoch() {
+ return std::chrono::duration_cast<std::chrono::seconds>(
+ std::chrono::system_clock::now().time_since_epoch()) +
+ Settings::values.custom_rtc_differential;
+}
+
static void PosixToCalendar(u64 posix_time, CalendarTime& calendar_time,
CalendarAdditionalInfo& additional_info,
[[maybe_unused]] const TimeZoneRule& /*rule*/) {
@@ -68,9 +75,7 @@ public:
private:
void GetCurrentTime(Kernel::HLERequestContext& ctx) {
- const s64 time_since_epoch{std::chrono::duration_cast<std::chrono::seconds>(
- std::chrono::system_clock::now().time_since_epoch())
- .count()};
+ const s64 time_since_epoch{GetSecondsSinceEpoch().count()};
LOG_DEBUG(Service_Time, "called");
IPC::ResponseBuilder rb{ctx, 4};
@@ -266,10 +271,7 @@ void Module::Interface::GetClockSnapshot(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx};
const auto initial_type = rp.PopRaw<u8>();
- const s64 time_since_epoch{std::chrono::duration_cast<std::chrono::seconds>(
- std::chrono::system_clock::now().time_since_epoch())
- .count()};
-
+ const s64 time_since_epoch{GetSecondsSinceEpoch().count()};
const std::time_t time(time_since_epoch);
const std::tm* tm = std::localtime(&time);
if (tm == nullptr) {