From 3e5937792e9ed7a24d701d4d3426f0e725fd4568 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 5 Jul 2016 11:02:56 +0200 Subject: [PATCH] Clang: Properly quote arguments Change-Id: Id51bc93de028429f18fca1638b1db4051880971b Reviewed-by: David Schulz --- .../clangbackend/ipcsource/commandlinearguments.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/tools/clangbackend/ipcsource/commandlinearguments.cpp b/src/tools/clangbackend/ipcsource/commandlinearguments.cpp index d99dba9b86a..b34a76d0631 100644 --- a/src/tools/clangbackend/ipcsource/commandlinearguments.cpp +++ b/src/tools/clangbackend/ipcsource/commandlinearguments.cpp @@ -28,6 +28,7 @@ #include "clangfilepath.h" #include +#include #include @@ -71,13 +72,10 @@ const char *CommandLineArguments::at(int position) const static Utf8String maybeQuoted(const char *argumentAsCString) { - const auto quotationMark = Utf8StringLiteral("\""); - const auto argument = Utf8String::fromUtf8(argumentAsCString); + const QString argumentAsQString = QString::fromUtf8(argumentAsCString); + const QString quotedArgument = Utils::QtcProcess::quoteArg(argumentAsQString); - if (argument.contains(quotationMark)) - return argument; - - return quotationMark + argument + quotationMark; + return Utf8String::fromString(quotedArgument); } void CommandLineArguments::print() const