du: use blocks to remove some cfgs

This commit is contained in:
Daniel Hofstetter 2023-11-06 10:15:47 +01:00
parent 1818632d7c
commit 2571af8ede

View file

@ -137,39 +137,42 @@ impl Stat {
}?; }?;
#[cfg(not(windows))] #[cfg(not(windows))]
let file_info = FileInfo { {
file_id: metadata.ino() as u128, let file_info = FileInfo {
dev_id: metadata.dev(), file_id: metadata.ino() as u128,
}; dev_id: metadata.dev(),
#[cfg(not(windows))] };
return Ok(Self {
path: path.to_path_buf(), return Ok(Self {
is_dir: metadata.is_dir(), path: path.to_path_buf(),
size: if path.is_dir() { 0 } else { metadata.len() }, is_dir: metadata.is_dir(),
blocks: metadata.blocks(), size: if path.is_dir() { 0 } else { metadata.len() },
inodes: 1, blocks: metadata.blocks(),
inode: Some(file_info), inodes: 1,
created: birth_u64(&metadata), inode: Some(file_info),
accessed: metadata.atime() as u64, created: birth_u64(&metadata),
modified: metadata.mtime() as u64, accessed: metadata.atime() as u64,
}); modified: metadata.mtime() as u64,
});
}
#[cfg(windows)] #[cfg(windows)]
let size_on_disk = get_size_on_disk(path); {
#[cfg(windows)] let size_on_disk = get_size_on_disk(path);
let file_info = get_file_info(path); let file_info = get_file_info(path);
#[cfg(windows)]
Ok(Self { Ok(Self {
path: path.to_path_buf(), path: path.to_path_buf(),
is_dir: metadata.is_dir(), is_dir: metadata.is_dir(),
size: if path.is_dir() { 0 } else { metadata.len() }, size: if path.is_dir() { 0 } else { metadata.len() },
blocks: size_on_disk / 1024 * 2, blocks: size_on_disk / 1024 * 2,
inode: file_info, inodes: 1,
inodes: 1, inode: file_info,
created: windows_creation_time_to_unix_time(metadata.creation_time()), created: windows_creation_time_to_unix_time(metadata.creation_time()),
accessed: windows_time_to_unix_time(metadata.last_access_time()), accessed: windows_time_to_unix_time(metadata.last_access_time()),
modified: windows_time_to_unix_time(metadata.last_write_time()), modified: windows_time_to_unix_time(metadata.last_write_time()),
}) })
}
} }
} }