From 1356050f21c505708871769a9225bc9fcd94913f Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Sat, 13 Apr 2013 16:06:01 +0200 Subject: [PATCH] Fixed the Console code on PHP 5.3 The PR #7657 introduced a requirement on PHP 5.4 by mistake. --- src/Symfony/Component/Console/Input/ArgvInput.php | 11 +++++++---- src/Symfony/Component/Console/Input/Input.php | 4 +++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Symfony/Component/Console/Input/ArgvInput.php b/src/Symfony/Component/Console/Input/ArgvInput.php index 42ea56a55d6c1..65bd8f2da369b 100644 --- a/src/Symfony/Component/Console/Input/ArgvInput.php +++ b/src/Symfony/Component/Console/Input/ArgvInput.php @@ -320,11 +320,14 @@ public function getParameterOption($values, $default = false) */ public function __toString() { - $tokens = array_map(function ($token) { + $self = $this; + $tokens = array_map(function ($token) use ($self) { if (preg_match('{^(-[^=]+=)(.+)}', $token, $match)) { - return $match[1] . $this->escapeToken($match[2]); - } elseif ($token && $token[0] !== '-') { - return $this->escapeToken($token); + return $match[1] . $self->escapeToken($match[2]); + } + + if ($token && $token[0] !== '-') { + return $self->escapeToken($token); } return $token; diff --git a/src/Symfony/Component/Console/Input/Input.php b/src/Symfony/Component/Console/Input/Input.php index 670b86d0c91f3..fb84cf829e3d6 100644 --- a/src/Symfony/Component/Console/Input/Input.php +++ b/src/Symfony/Component/Console/Input/Input.php @@ -214,9 +214,11 @@ public function hasOption($name) /** * Escapes a token through escapeshellarg if it contains unsafe chars * + * @param string $token + * * @return string */ - protected function escapeToken($token) + public function escapeToken($token) { return preg_match('{^[\w-]+$}', $token) ? $token : escapeshellarg($token); }