diff --git a/lib/scm/scm.class.php b/lib/scm/scm.class.php index a35c9bc5fd..24f9687e29 100644 --- a/lib/scm/scm.class.php +++ b/lib/scm/scm.class.php @@ -239,10 +239,10 @@ class scm */ function escapeCmd($cmd) { - $codes = array('#', '&', ';', '`', '|', '*', '?', '~', '<', '>', '^', '[', ']', '{', '}', '$', ',', '\x0A', '\xFF'); - if(DIRECTORY_SEPARATOR == '/') $codes[] = '\\'; - foreach($codes as $code) $cmd = str_replace($code, '\\' . $code, $cmd); - return $cmd; + $codes = array('#', '&', ';', '`', '|', '*', '?', '~', '<', '>', '^', '[', ']', '{', '}', '$', ',', '\x0A', '\xFF'); + if(DIRECTORY_SEPARATOR == '/') $cmd = str_replace('\\', '\\\\', $cmd); + foreach($codes as $code) $cmd = str_replace($code, "\\{$code}", $cmd); + return $cmd; } /**