1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-27 19:17:43 +00:00

du: rename inodes -> seen_inodes

This commit is contained in:
Daniel Hofstetter 2023-11-09 16:11:56 +01:00
parent 12e61d451c
commit 85777e6a42

View file

@ -296,7 +296,7 @@ fn du(
mut my_stat: Stat, mut my_stat: Stat,
options: &Options, options: &Options,
depth: usize, depth: usize,
inodes: &mut HashSet<FileInfo>, seen_inodes: &mut HashSet<FileInfo>,
exclude: &[Pattern], exclude: &[Pattern],
) -> Box<dyn DoubleEndedIterator<Item = Stat>> { ) -> Box<dyn DoubleEndedIterator<Item = Stat>> {
let mut stats = vec![]; let mut stats = vec![];
@ -336,13 +336,13 @@ fn du(
} }
if let Some(inode) = this_stat.inode { if let Some(inode) = this_stat.inode {
if inodes.contains(&inode) { if seen_inodes.contains(&inode) {
if options.count_links { if options.count_links {
my_stat.inodes += 1; my_stat.inodes += 1;
} }
continue; continue;
} }
inodes.insert(inode); seen_inodes.insert(inode);
} }
if this_stat.is_dir { if this_stat.is_dir {
if options.one_file_system { if options.one_file_system {
@ -354,7 +354,13 @@ fn du(
} }
} }
} }
futures.push(du(this_stat, options, depth + 1, inodes, exclude)); futures.push(du(
this_stat,
options,
depth + 1,
seen_inodes,
exclude,
));
} else { } else {
my_stat.size += this_stat.size; my_stat.size += this_stat.size;
my_stat.blocks += this_stat.blocks; my_stat.blocks += this_stat.blocks;
@ -637,11 +643,11 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> {
// Check existence of path provided in argument // Check existence of path provided in argument
if let Ok(stat) = Stat::new(&path, &options) { if let Ok(stat) = Stat::new(&path, &options) {
// Kick off the computation of disk usage from the initial path // Kick off the computation of disk usage from the initial path
let mut inodes: HashSet<FileInfo> = HashSet::new(); let mut seen_inodes: HashSet<FileInfo> = HashSet::new();
if let Some(inode) = stat.inode { if let Some(inode) = stat.inode {
inodes.insert(inode); seen_inodes.insert(inode);
} }
let iter = du(stat, &options, 0, &mut inodes, &excludes); let iter = du(stat, &options, 0, &mut seen_inodes, &excludes);
// Sum up all the returned `Stat`s and display results // Sum up all the returned `Stat`s and display results
let (_, len) = iter.size_hint(); let (_, len) = iter.size_hint();