diff options
-rw-r--r-- | src/corelib/io/qloggingregistry.cpp | 13 | ||||
-rw-r--r-- | tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp | 9 |
2 files changed, 14 insertions, 8 deletions
diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp index 7e6883fd14..575150f148 100644 --- a/src/corelib/io/qloggingregistry.cpp +++ b/src/corelib/io/qloggingregistry.cpp @@ -218,11 +218,14 @@ void QLoggingSettingsParser::setContent(QTextStream &stream) if ((equalPos != -1) && (line.lastIndexOf(QLatin1Char('=')) == equalPos)) { const QStringRef pattern = line.leftRef(equalPos); - const QStringRef value = line.midRef(equalPos + 1); - bool enabled = (value.compare(QLatin1String("true"), - Qt::CaseInsensitive) == 0); - QLoggingRule rule(pattern, enabled); - if (rule.flags != 0) + const QStringRef valueStr = line.midRef(equalPos + 1); + int value = -1; + if (valueStr == QLatin1String("true")) + value = 1; + else if (valueStr == QLatin1String("false")) + value = 0; + QLoggingRule rule(pattern, (value == 1)); + if (rule.flags != 0 && (value != -1)) _rules.append(rule); else warnMsg("Ignoring malformed logging rule: '%s'", line.toUtf8().constData()); diff --git a/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp b/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp index 3064fd1320..5623990bd1 100644 --- a/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp +++ b/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp @@ -306,10 +306,13 @@ private slots: void QLoggingRegistry_checkErrors() { QLoggingSettingsParser parser; - QString warnMsg = QString("Ignoring malformed logging rule: '***=false'"); - QTest::ignoreMessage(QtWarningMsg, warnMsg.toLocal8Bit().constData()); + QTest::ignoreMessage(QtWarningMsg, "Ignoring malformed logging rule: '***=false'"); + QTest::ignoreMessage(QtWarningMsg, "Ignoring malformed logging rule: '*=0'"); + QTest::ignoreMessage(QtWarningMsg, "Ignoring malformed logging rule: '*=TRUE'"); parser.setContent("[Rules]\n" - "***=false\n"); + "***=false\n" + "*=0\n" + "*=TRUE\n"); QVERIFY(parser.rules().isEmpty()); } }; |