diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-10-31 12:38:22 +0100 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-11-01 10:02:53 +0000 |
commit | cb9df98efb1eaf1849a70ae515b8b2405131ce13 (patch) | |
tree | 7796e13ced7493eeee4a90e618cc819e366b1a44 /src/plugins/compilationdatabaseprojectmanager | |
parent | 1442a1186d59d7fafa8da4ba3f9d61a51c2506ac (diff) |
CompilationDatabase: Fix escaped quotes handling
Change-Id: Iaecd38f921bd719899e478a76d8a8b9d4230a7cc
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins/compilationdatabaseprojectmanager')
-rw-r--r-- | src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp index 433495264e6..106d0926b97 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp @@ -57,12 +57,14 @@ public: {} }; -static QStringList splitCommandLine(const QString &line) +static QStringList splitCommandLine(QString commandLine) { QStringList result; bool insideQuotes = false; - for (const QString &part : line.split(QRegularExpression("\""))) { + // Remove escaped quotes. + commandLine.replace("\\\"", "'"); + for (const QString &part : commandLine.split(QRegularExpression("\""))) { if (insideQuotes) { const QString quotedPart = "\"" + part + "\""; if (result.last().endsWith("=")) |