diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-11-20 13:53:04 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-23 19:58:11 +0100 |
commit | ef510adea5995e7cacee2697b389c48bd9b19f70 (patch) | |
tree | 627251918a83ebb215de3b5557e5fe66321d13af /qmake/generators/makefile.cpp | |
parent | 56493268f71051bda4fd5b23e5af5ef6848f63c9 (diff) |
adequately shell-escape generated sed commands
Change-Id: I39c8c4ab3da69bd21beace56f5cf3070301ac015
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'qmake/generators/makefile.cpp')
-rw-r--r-- | qmake/generators/makefile.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index f628ca7ac4..d88c6e447a 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -43,6 +43,9 @@ #include "option.h" #include "cachekeys.h" #include "meta.h" + +#include <ioutils.h> + #include <qdir.h> #include <qfile.h> #include <qtextstream.h> @@ -52,6 +55,7 @@ #include <qbuffer.h> #include <qsettings.h> #include <qdatetime.h> + #if defined(Q_OS_UNIX) #include <unistd.h> #else @@ -3345,11 +3349,17 @@ QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QSt const ProString match = project->first(ProKey(replace_rules.at(r) + ".match")), replace = project->first(ProKey(replace_rules.at(r) + ".replace")); if (!match.isEmpty() /*&& match != replace*/) - ret += " -e \"s," + match + "," + replace + ",g\""; + ret += " -e " + shellQuote("s," + match + "," + replace + ",g"); } ret += " \"" + src + "\" >\"" + dst + "\""; } return ret; } +QString MakefileGenerator::shellQuote(const QString &str) +{ + return isWindowsShell() ? QMakeInternal::IoUtils::shellQuoteWin(str) + : QMakeInternal::IoUtils::shellQuoteUnix(str); +} + QT_END_NAMESPACE |