diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-07-03 12:26:52 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2014-07-03 12:40:52 +0200 |
commit | 2c039adbb19ffe9fec27861f055cb46e8f3d0eb6 (patch) | |
tree | 2d093f812288a6c9894330bad69f8ddd4be096e4 /src/lib/qtprofilesetup/qtprofilesetup.cpp | |
parent | d3d95d2bad0f1b78f4f10d710f5f0a9720511ae8 (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.cpp | 10 |
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")) { |