summaryrefslogtreecommitdiffstats
path: root/src/aggregate.rs
diff options
context:
space:
mode:
authorThomas Hurst <tom@hur.st>2020-02-22 02:21:34 +0000
committerThomas Hurst <tom@hur.st>2020-02-22 02:21:34 +0000
commitd86e1e0f66ac8bd031233a6a54e2a1694acf1142 (patch)
treecd5a1f0210c31d55ef1ab77682e2dba9ebaef62f /src/aggregate.rs
parent249539045e4dfb813723dff342c52a1ca92184ce (diff)
Add support for real/apparent size
Diffstat (limited to 'src/aggregate.rs')
-rw-r--r--src/aggregate.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/aggregate.rs b/src/aggregate.rs
index ff0e73b..63fed08 100644
--- a/src/aggregate.rs
+++ b/src/aggregate.rs
@@ -29,7 +29,17 @@ pub fn aggregate(
match entry {
Ok(entry) => {
let file_size = match entry.metadata {
- Some(Ok(ref m)) if !m.is_dir() => m.len(),
+ Some(Ok(ref m)) if !m.is_dir() => {
+ if options.apparent_size {
+ m.len()
+ } else {
+ filesize::file_real_size_fast(&entry.path(), m)
+ .unwrap_or_else(|_| {
+ num_errors += 1;
+ 0
+ })
+ }
+ },
Some(Ok(_)) => 0,
Some(Err(_)) => {
num_errors += 1;