From ce14208c3823580471ce783f19d5011f0b7bc036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Nowacki?= Date: Thu, 15 May 2014 11:32:33 +0000 Subject: Reduce QtCoreLib size by not repeating "UTC" string too often. It is a minor reduction, in release build it is ~200 bytes Change-Id: I4f7972c95769f2e0ca1ddc935ff7a0a6b4379e2a Reviewed-by: Marc Mutz Reviewed-by: Oswald Buddenhagen --- src/corelib/tools/qdatetime.cpp | 6 +++--- src/corelib/tools/qtimezoneprivate.cpp | 8 ++++---- src/corelib/tools/qtimezoneprivate_p.h | 11 +++++++++++ src/corelib/tools/qtimezoneprivate_tz.cpp | 2 +- src/corelib/tools/qtimezoneprivate_win.cpp | 4 ++-- 5 files changed, 21 insertions(+), 10 deletions(-) (limited to 'src/corelib') diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 2dce60c1d5..3c01edc83e 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -3194,7 +3194,7 @@ QTimeZone QDateTime::timeZone() const return d->m_timeZone; case Qt::UTC: if (!d->m_timeZone.isValid()) - d->m_timeZone = QTimeZone("UTC"); + d->m_timeZone = QTimeZone(QTimeZonePrivate::utcQByteArray()); return d->m_timeZone; case Qt::TimeZone : return d->m_timeZone; @@ -3254,9 +3254,9 @@ QString QDateTime::timeZoneAbbreviation() const { switch (d->m_spec) { case Qt::UTC: - return QStringLiteral("UTC"); + return QTimeZonePrivate::utcQString(); case Qt::OffsetFromUTC: - return QLatin1String("UTC") + toOffsetString(Qt::ISODate, d->m_offsetFromUtc); + return QTimeZonePrivate::utcQString() + toOffsetString(Qt::ISODate, d->m_offsetFromUtc); case Qt::TimeZone: #ifndef QT_BOOTSTRAPPED return d->m_timeZone.d->abbreviation(d->toMSecsSinceEpoch()); diff --git a/src/corelib/tools/qtimezoneprivate.cpp b/src/corelib/tools/qtimezoneprivate.cpp index 4286119586..4658b91dd3 100644 --- a/src/corelib/tools/qtimezoneprivate.cpp +++ b/src/corelib/tools/qtimezoneprivate.cpp @@ -558,8 +558,8 @@ template<> QTimeZonePrivate *QSharedDataPointer::clone() // Create default UTC time zone QUtcTimeZonePrivate::QUtcTimeZonePrivate() { - const QString name = QStringLiteral("UTC"); - init(QByteArrayLiteral("UTC"), 0, name, name, QLocale::AnyCountry, name); + const QString name = utcQString(); + init(utcQByteArray(), 0, name, name, QLocale::AnyCountry, name); } // Create a named UTC time zone @@ -583,7 +583,7 @@ QUtcTimeZonePrivate::QUtcTimeZonePrivate(qint32 offsetSeconds) QString utcId; if (offsetSeconds == 0) - utcId = QStringLiteral("UTC"); + utcId = utcQString(); else utcId = isoOffsetFormat(offsetSeconds); @@ -675,7 +675,7 @@ qint32 QUtcTimeZonePrivate::daylightTimeOffset(qint64 atMSecsSinceEpoch) const QByteArray QUtcTimeZonePrivate::systemTimeZoneId() const { - return QByteArrayLiteral("UTC"); + return utcQByteArray(); } QSet QUtcTimeZonePrivate::availableTimeZoneIds() const diff --git a/src/corelib/tools/qtimezoneprivate_p.h b/src/corelib/tools/qtimezoneprivate_p.h index 417ee2efbf..e8d250784a 100644 --- a/src/corelib/tools/qtimezoneprivate_p.h +++ b/src/corelib/tools/qtimezoneprivate_p.h @@ -154,6 +154,17 @@ public: static QList windowsIdToIanaIds(const QByteArray &windowsId, QLocale::Country country); + // returns "UTC" QString and QByteArray + static inline QString utcQString() Q_REQUIRED_RESULT + { + return QStringLiteral("UTC"); + } + + static inline QByteArray utcQByteArray() Q_REQUIRED_RESULT + { + return QByteArrayLiteral("UTC"); + } + protected: QByteArray m_id; }; diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp index b4ea91e626..2c7b00f653 100644 --- a/src/corelib/tools/qtimezoneprivate_tz.cpp +++ b/src/corelib/tools/qtimezoneprivate_tz.cpp @@ -958,7 +958,7 @@ QByteArray QTzTimeZonePrivate::systemTimeZoneId() const // Give up for now and return UTC if (ianaId.isEmpty()) - ianaId = QByteArrayLiteral("UTC"); + ianaId = utcQByteArray(); return ianaId; } diff --git a/src/corelib/tools/qtimezoneprivate_win.cpp b/src/corelib/tools/qtimezoneprivate_win.cpp index 052e584855..6e2c6b47b2 100644 --- a/src/corelib/tools/qtimezoneprivate_win.cpp +++ b/src/corelib/tools/qtimezoneprivate_win.cpp @@ -249,7 +249,7 @@ static QByteArray windowsSystemZoneId() } // If we can't determine the current ID use UTC - return QByteArrayLiteral("UTC"); + return QTimeZonePrivate::utcQByteArray(); } static QDate calculateTransitionLocalDate(const SYSTEMTIME &rule, int year) @@ -635,7 +635,7 @@ QByteArray QWinTimeZonePrivate::systemTimeZoneId() const ianaId = windowsIdToDefaultIanaId(windowsId); // If no global default then probably an unknown Windows ID so return UTC if (ianaId.isEmpty()) - return QByteArrayLiteral("UTC"); + return utcQByteArray(); } return ianaId; } -- cgit v1.2.3