Преглед изворни кода

time_zone: Use std::chrono::seconds for strong typing.

bunnei пре 6 година
родитељ
комит
bba54e1880
3 измењених фајлова са 5 додато и 4 уклоњено
  1. 2 2
      src/common/time_zone.cpp
  2. 2 1
      src/common/time_zone.h
  3. 1 1
      src/core/hle/service/time/time_manager.cpp

+ 2 - 2
src/common/time_zone.cpp

@@ -37,13 +37,13 @@ static int ConvertOsTimeZoneOffsetToInt(const std::string& timezone) {
     }
 }
 
-int GetCurrentOffsetSeconds() {
+std::chrono::seconds GetCurrentOffsetSeconds() {
     const int offset{ConvertOsTimeZoneOffsetToInt(GetOsTimeZoneOffset())};
 
     int seconds{(offset / 100) * 60 * 60}; // Convert hour component to seconds
     seconds += (offset % 100) * 60;        // Convert minute component to seconds
 
-    return seconds;
+    return std::chrono::seconds{seconds};
 }
 
 } // namespace Common::TimeZone

+ 2 - 1
src/common/time_zone.h

@@ -4,6 +4,7 @@
 
 #pragma once
 
+#include <chrono>
 #include <string>
 
 namespace Common::TimeZone {
@@ -12,6 +13,6 @@ namespace Common::TimeZone {
 std::string GetDefaultTimeZone();
 
 /// Gets the offset of the current timezone (from the default), in seconds
-int GetCurrentOffsetSeconds();
+std::chrono::seconds GetCurrentOffsetSeconds();
 
 } // namespace Common::TimeZone

+ 1 - 1
src/core/hle/service/time/time_manager.cpp

@@ -25,7 +25,7 @@ static std::chrono::seconds GetSecondsSinceEpoch() {
 static s64 GetExternalTimeZoneOffset() {
     // With "auto" timezone setting, we use the external system's timezone offset
     if (Settings::GetTimeZoneString() == "auto") {
-        return Common::TimeZone::GetCurrentOffsetSeconds();
+        return Common::TimeZone::GetCurrentOffsetSeconds().count();
     }
     return 0;
 }