From 0378e33bb806fdb494c6627e8334762d538df490 Mon Sep 17 00:00:00 2001 From: Andrii Vasyliev Date: Sun, 28 Feb 2016 18:50:35 +0000 Subject: [PATCH] + binary exec to return exit code --- src/base/Binary.php | 9 +++++---- src/controllers/AbstractController.php | 7 ++++--- src/controllers/BinariesController.php | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/base/Binary.php b/src/base/Binary.php index 0c47c81..dc696b5 100644 --- a/src/base/Binary.php +++ b/src/base/Binary.php @@ -46,13 +46,14 @@ public function passthru($args = []) /** * Prepares and runs with exec, returns stdout array. * @param string|array $args - * @return array stdout + * @param bool $returnExitCode, default false + * @return array|int stdout or exit code */ - public function exec($args = []) + public function exec($args = [], $returnExitCode = false) { - exec($this->prepareCommand($args), $array); + exec($this->prepareCommand($args), $array, $exitcode); - return $array; + return $returnExitCode ? $exitcode : $array; } public function prepareCommand($args) diff --git a/src/controllers/AbstractController.php b/src/controllers/AbstractController.php index e8622ae..d1ce5f5 100644 --- a/src/controllers/AbstractController.php +++ b/src/controllers/AbstractController.php @@ -208,11 +208,12 @@ public function passthru($name, $args = '') * Runs given binary with given arguments. Returns stdout array. * @param string $name * @param string $args - * @return array stdout + * @param bool $returnExitCode, default false + * @return array|int stdout or exitcode */ - public function exec($name, $args = '') + public function exec($name, $args = '', $returnExitCode = false) { - return $this->takeGoal('binaries')->exec($name, $args); + return $this->takeGoal('binaries')->exec($name, $args, $returnExitCode); } public function takeGoal($id) diff --git a/src/controllers/BinariesController.php b/src/controllers/BinariesController.php index 6a86f56..0b2da38 100644 --- a/src/controllers/BinariesController.php +++ b/src/controllers/BinariesController.php @@ -57,8 +57,8 @@ public function passthru($name, $args = []) * @param string $args * @return array stdout */ - public function exec($name, $args = []) + public function exec($name, $args = '', $returnExitCode = false) { - return $this->get($name)->exec($args); + return $this->get($name)->exec($args, $returnExitCode); } }