From cb9df98efb1eaf1849a70ae515b8b2405131ce13 Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Wed, 31 Oct 2018 12:38:22 +0100 Subject: [PATCH] CompilationDatabase: Fix escaped quotes handling Change-Id: Iaecd38f921bd719899e478a76d8a8b9d4230a7cc Reviewed-by: Nikolai Kosjar --- .../compilationdatabaseproject.cpp | 6 ++++-- 1 file 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("="))