From 2cf2c020ba04f57ac9e77712df6a25525744715b Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 7 Jun 2017 06:57:44 +0100 Subject: [PATCH] tty: handle non-tty stdin. When stdin is not a tty then the message `stty: stdin isn't a terminal` will be produced. Silence this message and fall back to `tput` when it fails and default to 80 if we get no results at all. Follow-up from #2714. --- Library/Homebrew/utils/tty.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/utils/tty.rb b/Library/Homebrew/utils/tty.rb index 642a33b912..e872e64601 100644 --- a/Library/Homebrew/utils/tty.rb +++ b/Library/Homebrew/utils/tty.rb @@ -6,7 +6,10 @@ module Tty end def width - (`/bin/stty size`.split[1] || 80).to_i + width = `/bin/stty size 2>/dev/null`.split[1] + width ||= `/usr/bin/tput cols 2>/dev/null`.split[0] + width ||= 80 + width.to_i end def truncate(string)