From fccf6cfdd2f32b15288984d11648ac51f338c62a Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Wed, 10 Apr 2024 16:41:13 +0200 Subject: Make QTimeZonePrivate::Data construction easier Turn QTZP::invalidData() into a default constructor. A second constructor taking needed details avoids exercising that default constructor elsewhere, when the invalid values aren't what we need. All constructed instances now have all members initialized. In the TZ backend, add some PosixZone helpers to create Data objects, reducing the complexity of calculatePosixTransitions(). Task-number: QTBUG-122619 Change-Id: I56557a2f6249d60012355d5d72c662474be76e51 Reviewed-by: Ahmad Samir --- src/corelib/time/qtimezoneprivate_win.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/corelib/time/qtimezoneprivate_win.cpp') diff --git a/src/corelib/time/qtimezoneprivate_win.cpp b/src/corelib/time/qtimezoneprivate_win.cpp index 2502516810..7874c22174 100644 --- a/src/corelib/time/qtimezoneprivate_win.cpp +++ b/src/corelib/time/qtimezoneprivate_win.cpp @@ -692,7 +692,7 @@ QTimeZonePrivate::Data QWinTimeZonePrivate::data(qint64 forMSecsSinceEpoch) cons // Fell off start of rule, try previous rule. } // We don't have relevant data :-( - return invalidData(); + return {}; } bool QWinTimeZonePrivate::hasTransitions() const @@ -774,13 +774,13 @@ QTimeZonePrivate::Data QWinTimeZonePrivate::nextTransition(qint64 afterMSecsSinc } } // Apparently no transition after the given time: - return invalidData(); + return {}; } QTimeZonePrivate::Data QWinTimeZonePrivate::previousTransition(qint64 beforeMSecsSinceEpoch) const { if (beforeMSecsSinceEpoch <= minMSecs()) - return invalidData(); + return {}; int year = msecsToDate(beforeMSecsSinceEpoch).year(); for (int ruleIndex = ruleIndexForYear(m_tranRules, year); @@ -830,7 +830,7 @@ QTimeZonePrivate::Data QWinTimeZonePrivate::previousTransition(qint64 beforeMSec } } // Apparently no transition before the given time: - return invalidData(); + return {}; } QByteArray QWinTimeZonePrivate::systemTimeZoneId() const @@ -866,7 +866,7 @@ QTimeZonePrivate::Data QWinTimeZonePrivate::ruleToData(const QWinTransitionRule QTimeZone::TimeType type, bool fakeDst) const { - Data tran = invalidData(); + Data tran; tran.atMSecsSinceEpoch = atMSecsSinceEpoch; tran.standardTimeOffset = rule.standardTimeBias * -60; if (fakeDst) { -- cgit v1.2.3