summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/io/qloggingregistry.cpp13
-rw-r--r--tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp9
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());
}
};