Currently the run dialog does not support paths with spaces in them. It you use quotes to protect a path including spaces Command:extractArgs still separates command from arguments based on the first space found. this makes it impossible to use an explicit path to run any program installed in "Program Files".
As I do frequently want to use an explicit path I have added the code to honour quotes. Seem to work ok. appended is the first few line of the modified extractArgs:
void Command::extractArgs(char *cmd2Exec, char *args, const char *cmdEntier)
{
int i = 0;
bool quoted = FALSE;
for ( ; i < int(strlen(cmdEntier)) ; i++)
{
if ((cmdEntier[i] == ' ')&&(quoted==FALSE))
break;
if (cmdEntier[i]=='"')
quoted = !quoted;
cmd2Exec[i] = cmdEntier[i];
}
cmd2Exec[i] = '\0';
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Currently the run dialog does not support paths with spaces in them. It you use quotes to protect a path including spaces Command:extractArgs still separates command from arguments based on the first space found. this makes it impossible to use an explicit path to run any program installed in "Program Files".
As I do frequently want to use an explicit path I have added the code to honour quotes. Seem to work ok. appended is the first few line of the modified extractArgs:
void Command::extractArgs(char *cmd2Exec, char *args, const char *cmdEntier)
{
int i = 0;
bool quoted = FALSE;
for ( ; i < int(strlen(cmdEntier)) ; i++)
{
if ((cmdEntier[i] == ' ')&&(quoted==FALSE))
break;
if (cmdEntier[i]=='"')
quoted = !quoted;
cmd2Exec[i] = cmdEntier[i];
}
cmd2Exec[i] = '\0';