From 32394632d2d748d8c7221161c7e7ef72fb728a2b Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 16 Feb 2021 12:53:34 +0100 Subject: [PATCH] Utils: Add CommandLine::addArgs(const CommandLine &cmd) convenience This adds cmd's executable and arguments one by one to this commandline. Useful to construct command lines for 'sudo', 'nice', etc. Change-Id: I76067bc10e269b8e7ff4d945449be3633b321281 Reviewed-by: Eike Ziller --- src/libs/utils/fileutils.cpp | 8 ++++++++ src/libs/utils/fileutils.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp index 654d263664d..ee9b20a4bb0 100644 --- a/src/libs/utils/fileutils.cpp +++ b/src/libs/utils/fileutils.cpp @@ -106,6 +106,14 @@ void CommandLine::addArgs(const QStringList &inArgs, OsType osType) addArg(arg, osType); } +// Adds cmd's executable and arguments one by one to this commandline. +// Useful for 'sudo', 'nice', etc +void CommandLine::addArgs(const CommandLine &cmd, OsType osType) +{ + addArg(cmd.executable().toString()); + addArgs(cmd.splitArguments(osType)); +} + void CommandLine::addArgs(const QString &inArgs, RawType) { QtcProcess::addArgs(&m_arguments, inArgs); diff --git a/src/libs/utils/fileutils.h b/src/libs/utils/fileutils.h index 5456582f26d..f0cbcc87975 100644 --- a/src/libs/utils/fileutils.h +++ b/src/libs/utils/fileutils.h @@ -148,6 +148,7 @@ public: void addArg(const QString &arg, OsType osType = HostOsInfo::hostOs()); void addArgs(const QStringList &inArgs, OsType osType = HostOsInfo::hostOs()); + void addArgs(const CommandLine &cmd, OsType osType = HostOsInfo::hostOs()); void addArgs(const QString &inArgs, RawType);