pathname: make compute_disk_usage handle symlinks.
This commit is contained in:
		
							parent
							
								
									a68d38743a
								
							
						
					
					
						commit
						6c2b614a04
					
				@ -26,11 +26,17 @@ module DiskUsageExtension
 | 
				
			|||||||
  private
 | 
					  private
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def compute_disk_usage
 | 
					  def compute_disk_usage
 | 
				
			||||||
    if directory?
 | 
					    path = if symlink?
 | 
				
			||||||
 | 
					      resolved_path
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      self
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if path.directory?
 | 
				
			||||||
      scanned_files = Set.new
 | 
					      scanned_files = Set.new
 | 
				
			||||||
      @file_count = 0
 | 
					      @file_count = 0
 | 
				
			||||||
      @disk_usage = 0
 | 
					      @disk_usage = 0
 | 
				
			||||||
      find do |f|
 | 
					      path.find do |f|
 | 
				
			||||||
        if f.directory?
 | 
					        if f.directory?
 | 
				
			||||||
          @disk_usage += f.lstat.size
 | 
					          @disk_usage += f.lstat.size
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
@ -47,7 +53,7 @@ module DiskUsageExtension
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      @file_count = 1
 | 
					      @file_count = 1
 | 
				
			||||||
      @disk_usage = lstat.size
 | 
					      @disk_usage = path.lstat.size
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user