foreach ($args as $arg) {
if (!is_array($arg)) {
- $cmd .= ' ' . escapeshellarg($arg);
+ $cmd .= ' ' . MTrackSCM::escapeshellarg($arg);
continue;
}
foreach ($arg as $a) {
- $cmd .= ' ' . escapeshellarg($a);
+ $cmd .= ' ' . MTrackSCM::escapeshellarg($a);
}
}
}
}
-
-
+ static function escapeshellarg($a) {
+ if (preg_match('/\-[a-z0-9]+$/i', $a)) {
+ return $a; // raw -a
+ }
+ if (preg_match('/\-\-[a-z0-9]+=/i', $a)) {
+ $lr = explode('=', $a,2);
+ return $lr[0].'=' . escapeshellarg($lr[1]); // raw -a
+ }
+ return escapeshellarg($a);
+
+
+ }
public $repopath = '';
/*
public function resolveRevision($rev, $object, $ident)
{
if ($rev !== null) {
- return $rev;
+ return $rev;
}
if ($object === null) {
- return null;
+ return null;
}
switch ($object) {