Fixed: Use --args only with open

This commit is contained in:
kervala 2016-01-02 19:16:33 +01:00
parent efedb468cc
commit ec8b27f8ab

View file

@ -677,7 +677,6 @@ bool abortProgram(uint32 pid)
bool launchProgram(const std::string &programName, const std::string &arguments, bool log) bool launchProgram(const std::string &programName, const std::string &arguments, bool log)
{ {
#ifdef NL_OS_WINDOWS #ifdef NL_OS_WINDOWS
STARTUPINFOA si; STARTUPINFOA si;
PROCESS_INFORMATION pi; PROCESS_INFORMATION pi;
@ -723,16 +722,19 @@ bool launchProgram(const std::string &programName, const std::string &arguments,
{ {
// we need to open bundles with "open" command // we need to open bundles with "open" command
command = NLMISC::toString("open \"%s\"", programName.c_str()); command = NLMISC::toString("open \"%s\"", programName.c_str());
// append arguments if any
if (!arguments.empty())
{
command += NLMISC::toString(" --args %s", arguments.c_str());
}
} }
else else
{ {
command = programName; command = programName;
}
// append arguments if any // append arguments if any
if (!arguments.empty()) if (!arguments.empty()) command += " " + arguments;
{
command += NLMISC::toString(" --args %s", arguments.c_str());
} }
int res = system(command.c_str()); int res = system(command.c_str());
@ -825,6 +827,7 @@ bool launchProgram(const std::string &programName, const std::string &arguments,
#endif #endif
return false; return false;
}
sint launchProgramAndWaitForResult(const std::string &programName, const std::string &arguments, bool log) sint launchProgramAndWaitForResult(const std::string &programName, const std::string &arguments, bool log)
{ {