Commit 3b7d51dc authored by Piyush Aggarwal's avatar Piyush Aggarwal 🎮
Browse files

runcommand: avoid using cmd to allow better handling of quoted arguments

parent 153bc227
Pipeline #61199 passed with stage
in 2 minutes and 30 seconds
......@@ -29,16 +29,9 @@
#define PACKET_TYPE_RUNCOMMAND QStringLiteral("kdeconnect.runcommand")
#ifdef Q_OS_WIN
#define COMMAND "cmd"
#define ARGS "/c"
#else
#define COMMAND "/bin/sh"
#define ARGS "-c"
#endif
K_PLUGIN_CLASS_WITH_JSON(RunCommandPlugin, "kdeconnect_runcommand.json")
RunCommandPlugin::RunCommandPlugin(QObject* parent, const QVariantList& args)
......@@ -68,7 +61,11 @@ bool RunCommandPlugin::receivePacket(const NetworkPacket& np)
}
const QJsonObject commandJson = value.toObject();
qCInfo(KDECONNECT_PLUGIN_RUNCOMMAND) << "Running:" << COMMAND << ARGS << commandJson[QStringLiteral("command")].toString();
#ifdef Q_OS_WIN
QProcess::startDetached(commandJson[QStringLiteral("command")].toString());
#else
QProcess::startDetached(QStringLiteral(COMMAND), QStringList()<< QStringLiteral(ARGS) << commandJson[QStringLiteral("command")].toString());
#endif
return true;
} else if (np.has(QStringLiteral("setup"))) {
Daemon::instance()->openConfiguration(device()->id(), QStringLiteral("kdeconnect_runcommand"));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment