summaryrefslogtreecommitdiffstats
path: root/src/corelib/time/qlocaltime.cpp
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2023-04-26 20:43:24 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2023-05-04 14:06:07 +0200
commit4c93b9c1d082842f2279869d9f289dad19155453 (patch)
tree333a7ccd058d84bf1a8964b1960cd52e301d08e7 /src/corelib/time/qlocaltime.cpp
parent22909abeaec11c89b93cf45ec39bf62a9f9d9290 (diff)
Refactor QGregorianCalendar::julianFromParts to return std::optional
It's a private static used to optimize internal use, so we can freely get rid of its out parameter this way. Change-Id: Id62612987f10ecbbd9702610fd172286adbfd442 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/time/qlocaltime.cpp')
-rw-r--r--src/corelib/time/qlocaltime.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/corelib/time/qlocaltime.cpp b/src/corelib/time/qlocaltime.cpp
index 4684aa7141b..145da917232 100644
--- a/src/corelib/time/qlocaltime.cpp
+++ b/src/corelib/time/qlocaltime.cpp
@@ -167,10 +167,8 @@ struct tm timeToTm(qint64 localDay, int secs, QDateTimePrivate::DaylightStatus d
inline std::optional<qint64> tmToJd(const struct tm &date)
{
- qint64 jd;
return QGregorianCalendar::julianFromParts(qYearFromTmYear(date.tm_year),
- date.tm_mon + 1, date.tm_mday, &jd)
- ? std::optional<qint64>(jd) : std::nullopt;
+ date.tm_mon + 1, date.tm_mday);
}
#define IC(N) std::integral_constant<qint64, N>()
@@ -374,9 +372,7 @@ QDateTimePrivate::ZoneState mapLocalTime(qint64 local, QDateTimePrivate::Dayligh
SystemMillisRange computeSystemMillisRange()
{
// Assert this here, as this is called just once, in a static initialization.
- [[maybe_unused]] qint64 epochJd;
- Q_ASSERT(QGregorianCalendar::julianFromParts(1970, 1, 1, &epochJd)
- && epochJd == JULIAN_DAY_FOR_EPOCH);
+ Q_ASSERT(QGregorianCalendar::julianFromParts(1970, 1, 1) == JULIAN_DAY_FOR_EPOCH);
constexpr qint64 TIME_T_MAX = std::numeric_limits<time_t>::max();
using Bounds = std::numeric_limits<qint64>;