|
|
|
@ -469,7 +469,7 @@ class ProcessExecutor
|
|
|
|
|
if ('\\' !== \DIRECTORY_SEPARATOR) {
|
|
|
|
|
return "'".str_replace("'", "'\\''", $argument)."'";
|
|
|
|
|
}
|
|
|
|
|
if (str_contains($argument, "\0")) {
|
|
|
|
|
if (false !== strpos($argument, "\0")) {
|
|
|
|
|
$argument = str_replace("\0", '?', $argument);
|
|
|
|
|
}
|
|
|
|
|
if (!preg_match('/[\/()%!^"<>&|\s]/', $argument)) {
|
|
|
|
@ -477,7 +477,7 @@ class ProcessExecutor
|
|
|
|
|
}
|
|
|
|
|
$argument = preg_replace('/(\\\\+)$/', '$1$1', $argument);
|
|
|
|
|
|
|
|
|
|
return '"'.str_replace(['"', '^', '%', '!', "\n"], ['""', '"^^"', '"^%"', '"^!"', '!LF!'], $argument).'"';
|
|
|
|
|
return '"'.str_replace(array('"', '^', '%', '!', "\n"), array('""', '"^^"', '"^%"', '"^!"', '!LF!'), $argument).'"';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|