This commit is contained in:
bootandy
2018-03-16 22:31:09 -04:00
parent 3d0d5cee33
commit fc3fbc6f64
+14 -6
View File
@@ -326,23 +326,31 @@ fn print_this_node(node_to_print: &Node, is_biggest: bool, depth: u8, indentatio
} }
fn human_readable_number(size: u64) -> (String) { fn human_readable_number(size: u64) -> (String) {
// we need the block size of the OS here
//
let units = vec!["T", "G", "M", "K"]; //make static let units = vec!["T", "G", "M", "K"]; //make static
let bytes_per_block = 512;
//return format!("{}B", size);
for (i, u) in units.iter().enumerate() { for (i, u) in units.iter().enumerate() {
let marker = 1024u64.pow((units.len() - i) as u32); let marker = 1024u64.pow((units.len() - i) as u32);
if size >= marker { if size * bytes_per_block >= marker {
if size / marker < 10 { if size * bytes_per_block / marker < 10 {
return format!("{:.1}{}", (size as f32 / marker as f32), u); return format!(
"{:.1}{}",
((size * bytes_per_block) as f32 / marker as f32),
u
);
} else { } else {
return format!("{}{}", (size / marker), u); return format!("{}{}", (size * bytes_per_block / marker), u);
} }
} }
} }
return format!("{}B", size); return format!("{}B", size * bytes_per_block);
} }
mod tests { mod tests {
use super::human_readable_number; use super::*;
#[test] #[test]
fn test_human_readable_number() { fn test_human_readable_number() {