From 45639088d346b2a5ff8259e58a66f88afac2b480 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Wed, 10 Apr 2024 16:51:11 +0200 Subject: [PATCH] Construct QTimeZone::OffsetData by brace-initialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It saves exercising its default constructor, which doesn't initialize all members, and makes for terser code. Because the type is public, we can't delete its constructor to force always brace-initializing. Since the default values we'd want to NSDMI it to require , or access to QTZP, it seemed better to just leave its default initialization alone and just never exercise it. Task-number: QTBUG-122619 Change-Id: I58d588d90080cf2f48eef2ef4b733b27bb4fba37 Reviewed-by: Thiago Macieira Reviewed-by: Øystein Heskestad --- src/corelib/time/qtimezoneprivate.cpp | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/corelib/time/qtimezoneprivate.cpp b/src/corelib/time/qtimezoneprivate.cpp index 8d0cb80a18..4c311878c8 100644 --- a/src/corelib/time/qtimezoneprivate.cpp +++ b/src/corelib/time/qtimezoneprivate.cpp @@ -588,25 +588,19 @@ void QTimeZonePrivate::serialize(QDataStream &ds) const QTimeZone::OffsetData QTimeZonePrivate::invalidOffsetData() { - QTimeZone::OffsetData offsetData; - offsetData.atUtc = QDateTime(); - offsetData.offsetFromUtc = invalidSeconds(); - offsetData.standardTimeOffset = invalidSeconds(); - offsetData.daylightTimeOffset = invalidSeconds(); - return offsetData; + return { QString(), QDateTime(), + invalidSeconds(), invalidSeconds(), invalidSeconds() }; } QTimeZone::OffsetData QTimeZonePrivate::toOffsetData(const QTimeZonePrivate::Data &data) { - QTimeZone::OffsetData offsetData = invalidOffsetData(); - if (data.atMSecsSinceEpoch != invalidMSecs()) { - offsetData.atUtc = QDateTime::fromMSecsSinceEpoch(data.atMSecsSinceEpoch, QTimeZone::UTC); - offsetData.offsetFromUtc = data.offsetFromUtc; - offsetData.standardTimeOffset = data.standardTimeOffset; - offsetData.daylightTimeOffset = data.daylightTimeOffset; - offsetData.abbreviation = data.abbreviation; - } - return offsetData; + if (data.atMSecsSinceEpoch == invalidMSecs()) + return invalidOffsetData(); + + return { + data.abbreviation, + QDateTime::fromMSecsSinceEpoch(data.atMSecsSinceEpoch, QTimeZone::UTC), + data.offsetFromUtc, data.standardTimeOffset, data.daylightTimeOffset }; } // Is the format of the ID valid ?