diff options
| author | Jack Nagel | 2011-11-10 19:44:57 -0600 |
|---|---|---|
| committer | Jack Nagel | 2011-11-10 20:47:17 -0600 |
| commit | 6b1ebced6cbcbe35462dd9b120cf8360cb276c9e (patch) | |
| tree | 2480170789cc93c305e5d4f044911d6a764c7a58 /Library | |
| parent | 2c4747066d5896da2107fe9ec9a48784de2d3938 (diff) | |
| download | homebrew-6b1ebced6cbcbe35462dd9b120cf8360cb276c9e.tar.bz2 | |
doctor: warn about wide terminals
A terminal width of 262 or greater can trigger a buffer overflow in
curl's progress bar code, resulting in a segfault and aborted downloads.
Warn about this.
cf #8521.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/doctor.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 9bfc9b308..6c4dc4d43 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -797,6 +797,20 @@ def check_git_version end end +def check_terminal_width + if `tput cols`.chomp.to_i > 262 + puts <<-EOS.undent + Your terminal width is greater than 262 columns. + + This can trigger a segfault in some versions of curl, which may cause + downloads to appear to fail. + + You may want to adjust your terminal size. + + EOS + end +end + module Homebrew extend self def doctor old_stdout = $stdout @@ -842,6 +856,7 @@ module Homebrew extend self check_git_status check_for_leopard_ssl check_git_version + check_terminal_width ensure $stdout = old_stdout end |
