diff options
| author | Jack Nagel | 2013-05-23 11:16:24 -0500 |
|---|---|---|
| committer | Jack Nagel | 2013-05-23 11:28:16 -0500 |
| commit | 1194880cf24be1bf42f977783847d7fb51abb77b (patch) | |
| tree | 8d2e5f5890ccdad256000f05f31ec91583df2eb2 /Library/Homebrew/cmd | |
| parent | 46d2b2165ab1f559e52d4b24cb86d96505a7f4f4 (diff) | |
| download | brew-1194880cf24be1bf42f977783847d7fb51abb77b.tar.bz2 | |
doctor: fix check_for_broken_symlinks
Fixes Homebrew/homebrew#20000.
Diffstat (limited to 'Library/Homebrew/cmd')
| -rw-r--r-- | Library/Homebrew/cmd/doctor.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index c7d158a6d..45c71ebc6 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -202,10 +202,12 @@ end def check_for_broken_symlinks require 'keg' broken_symlinks = [] - Keg::PRUNEABLE_DIRECTORIES.each do |d| - next unless d.directory? - d.find do |pn| - broken_symlinks << pn if pn.symlink? and pn.readlink.expand_path.to_s =~ /^#{HOMEBREW_PREFIX}/o and not pn.exist? + + Keg::PRUNEABLE_DIRECTORIES.select(&:directory?).each do |d| + d.find do |path| + if path.symlink? && !path.resolved_path_exists? + broken_symlinks << path + end end end unless broken_symlinks.empty? then <<-EOS.undent |
