mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-27 11:07:44 +00:00
du: rename inodes -> seen_inodes
This commit is contained in:
parent
12e61d451c
commit
85777e6a42
1 changed files with 13 additions and 7 deletions
|
@ -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();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue