From 52c68979fc4b369a0a0023808946795966773f8a Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Wed, 22 Oct 2014 17:14:56 +0200 Subject: [PATCH] Refactor --- src/Console.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Console.php b/src/Console.php index 3c7b7f9..84fc94a 100644 --- a/src/Console.php +++ b/src/Console.php @@ -66,7 +66,7 @@ public function hasColorSupport() return false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI'); } - return function_exists('posix_isatty') && @posix_isatty(STDOUT); + return $this->isTty(); } /** @@ -92,4 +92,12 @@ public function getNumberOfColumns() return 80; } + + /** + * @return boolean + */ + private function isTty() + { + return function_exists('posix_isatty') && @posix_isatty(STDOUT); + } } From 07a5d03892f4e31bc16f97c58de100c04f95b731 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 24 Oct 2014 10:51:36 +0200 Subject: [PATCH] Make sure we have a tty before using stty --- src/Console.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Console.php b/src/Console.php index 84fc94a..ac1b1a3 100644 --- a/src/Console.php +++ b/src/Console.php @@ -66,7 +66,7 @@ public function hasColorSupport() return false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI'); } - return $this->isTty(); + return $this->isTty(STDOUT); } /** @@ -82,6 +82,10 @@ public function getNumberOfColumns() return 79; } + if (!$this->isTty(STDIN)) { + return 80; + } + if (preg_match('#\d+ (\d+)#', shell_exec('stty size'), $match) === 1) { return (int) $match[1]; } @@ -94,10 +98,11 @@ public function getNumberOfColumns() } /** + * @param resource $fd * @return boolean */ - private function isTty() + private function isTty($fd) { - return function_exists('posix_isatty') && @posix_isatty(STDOUT); + return function_exists('posix_isatty') && @posix_isatty($fd); } }