summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2021-01-08 13:48:51 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-02-02 11:56:16 +0000
commit8b1194edea390f5608526a7f15cc562a3f17656b (patch)
treec77d8c1ceb81bf905efb623b5cea480ac5b8a354 /src/corelib
parentf1efd15d430f8d00cf1839b600a9e4b5771b8e38 (diff)
Correct string comparison in Android's IANA ID matching code
It used QString.compare() and assumed it was returning a bool true on equality, when it actually returns an int that compares to 0 as the given strings compare. So it should use compare() == 0. This fixes several of QTimeZone's blacklisted tests on Android and a crasher, which we dodged with a QSKIP. Added an id-comparison to a test. Gave two local variables more informative names, made an early return into a QSKIP so it explains itself. Fixes: QTBUG-89905 Fixes: QTBUG-69122 Fixes: QTBUG-69132 Fixes: QTBUG-87435 Change-Id: Icf18ed5a810143d6e65d36e34a70e82faac10b8e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> (cherry picked from commit 6ee13db700eecd8dfed54a9ec2d1081b39511562) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/time/qtimezoneprivate_android.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/time/qtimezoneprivate_android.cpp b/src/corelib/time/qtimezoneprivate_android.cpp
index fae9b84fa0..da82832455 100644
--- a/src/corelib/time/qtimezoneprivate_android.cpp
+++ b/src/corelib/time/qtimezoneprivate_android.cpp
@@ -113,7 +113,7 @@ void QAndroidTimeZonePrivate::init(const QByteArray &ianaId)
// The ID or display name of the zone we've got, if it looks like what we asked for:
const auto match = [iana](const QJNIObjectPrivate &jname) -> QByteArray {
const QString name = jname.toString();
- if (iana.compare(name, Qt::CaseInsensitive))
+ if (iana.compare(name, Qt::CaseInsensitive) == 0)
return name.toUtf8();
return QByteArray();