Fix potential breakage in QString.
authorJędrzej Nowacki <jedrzej.nowacki@digia.com>
Wed, 19 Sep 2012 13:40:41 +0000 (15:40 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 24 Sep 2012 14:53:13 +0000 (16:53 +0200)
Negation operator ("!") have precedence over bitwise and ("&").

Change-Id: I39e2d99da6eaa4477bbe35a1259f745e05c9841a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/tools/qstring.cpp
tests/auto/corelib/tools/qstring/tst_qstring.cpp

index 570716e..43c5c05 100644 (file)
@@ -6999,7 +6999,7 @@ QString QString::arg(qlonglong a, int fieldWidth, int base, QChar fillChar) cons
     QString locale_arg;
     if (d.locale_occurrences > 0) {
         QLocale locale;
-        if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+        if (!(locale.numberOptions() & QLocale::OmitGroupSeparator))
             flags |= QLocalePrivate::ThousandsGroup;
         locale_arg = locale.d->longLongToString(a, -1, base, fieldWidth, flags);
     }
@@ -7043,7 +7043,7 @@ QString QString::arg(qulonglong a, int fieldWidth, int base, QChar fillChar) con
     QString locale_arg;
     if (d.locale_occurrences > 0) {
         QLocale locale;
-        if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+        if (!(locale.numberOptions() & QLocale::OmitGroupSeparator))
             flags |= QLocalePrivate::ThousandsGroup;
         locale_arg = locale.d->unsLongLongToString(a, -1, base, fieldWidth, flags);
     }
@@ -7178,7 +7178,7 @@ QString QString::arg(double a, int fieldWidth, char fmt, int prec, QChar fillCha
     if (d.locale_occurrences > 0) {
         QLocale locale;
 
-        if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+        if (!(locale.numberOptions() & QLocale::OmitGroupSeparator))
             flags |= QLocalePrivate::ThousandsGroup;
         locale_arg = locale.d->doubleToString(a, prec, form, fieldWidth, flags);
     }
index ab5d7ab..2b00ec8 100644 (file)
@@ -5339,11 +5339,15 @@ void tst_QString::compareRef()
 void tst_QString::arg_locale()
 {
     QLocale l(QLocale::English, QLocale::UnitedKingdom);
+    QString str("*%L1*%L2*");
+
+    QCOMPARE(str.arg(123456).arg(1234.56), QString::fromLatin1("*123,456*1,234.56*"));
+    QLocale::setDefault(l);
+
     l.setNumberOptions(QLocale::OmitGroupSeparator);
     QLocale::setDefault(l);
-    QString str("*%L1*%L2*");
-    str = str.arg(123456).arg(1234.56);
-    QCOMPARE(str, QString::fromLatin1("*123456*1234.56*"));
+    QCOMPARE(str.arg(123456).arg(1234.56), QString::fromLatin1("*123456*1234.56*"));
+
     QLocale::setDefault(QLocale::C);
 }