aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/qtprofilesetup/qtprofilesetup.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-07-03 12:26:52 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2014-07-03 12:40:52 +0200
commit2c039adbb19ffe9fec27861f055cb46e8f3d0eb6 (patch)
tree2d093f812288a6c9894330bad69f8ddd4be096e4 /src/lib/qtprofilesetup/qtprofilesetup.cpp
parentd3d95d2bad0f1b78f4f10d710f5f0a9720511ae8 (diff)
Fix parsing of Qt modules .pri files.
Somewhat unsurprisingly, there can be more than one '=' on a line. Change-Id: I7d45d3230edf5a722f2effa1f988d2b590c8303f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/qtprofilesetup/qtprofilesetup.cpp')
-rw-r--r--src/lib/qtprofilesetup/qtprofilesetup.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/qtprofilesetup/qtprofilesetup.cpp b/src/lib/qtprofilesetup/qtprofilesetup.cpp
index a146879f5..ea7c26246 100644
--- a/src/lib/qtprofilesetup/qtprofilesetup.cpp
+++ b/src/lib/qtprofilesetup/qtprofilesetup.cpp
@@ -377,11 +377,13 @@ static QList<QtModuleInfo> qt5Modules(const Profile &profile, const QtEnvironmen
const QByteArray priFileContents = priFile.readAll();
foreach (const QByteArray &line, priFileContents.split('\n')) {
const QByteArray simplifiedLine = line.simplified();
- const QList<QByteArray> parts = simplifiedLine.split('=');
- if (parts.count() != 2 || parts.at(1).isEmpty())
+ const int firstEqualsOffset = simplifiedLine.indexOf('=');
+ if (firstEqualsOffset == -1)
+ continue;
+ const QByteArray key = simplifiedLine.left(firstEqualsOffset).trimmed();
+ const QByteArray value = simplifiedLine.mid(firstEqualsOffset + 1).trimmed();
+ if (key.isEmpty() || value.isEmpty())
continue;
- const QByteArray key = parts.first().simplified();
- const QByteArray value = parts.last().simplified();
if (key.endsWith(".name")) {
moduleInfo.name = QString::fromLocal8Bit(value);
} else if (key.endsWith(".depends")) {