aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/extend
diff options
context:
space:
mode:
authorMike McQuaid2017-01-06 08:50:20 +0000
committerMike McQuaid2017-01-06 08:50:20 +0000
commit6c2b614a04e375eea81490e906fd80a975c76f65 (patch)
tree4e5987d6a2965070c18f2e705d9cec3daa387df8 /Library/Homebrew/extend
parenta68d38743abc2351a9468dcec70174fdfe38cf94 (diff)
downloadbrew-6c2b614a04e375eea81490e906fd80a975c76f65.tar.bz2
pathname: make compute_disk_usage handle symlinks.
Diffstat (limited to 'Library/Homebrew/extend')
-rw-r--r--Library/Homebrew/extend/pathname.rb12
1 files changed, 9 insertions, 3 deletions
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb
index 976ea7dd8..cfb028704 100644
--- a/Library/Homebrew/extend/pathname.rb
+++ b/Library/Homebrew/extend/pathname.rb
@@ -26,11 +26,17 @@ module DiskUsageExtension
private
def compute_disk_usage
- if directory?
+ path = if symlink?
+ resolved_path
+ else
+ self
+ end
+
+ if path.directory?
scanned_files = Set.new
@file_count = 0
@disk_usage = 0
- find do |f|
+ path.find do |f|
if f.directory?
@disk_usage += f.lstat.size
else
@@ -47,7 +53,7 @@ module DiskUsageExtension
end
else
@file_count = 1
- @disk_usage = lstat.size
+ @disk_usage = path.lstat.size
end
end
end