exa/format.rs
Ben S 10b8f6f414 Split source out into multiple files
Also, reverse the way columns are rendered: before, a column took a stat and a name to render; now, a file takes a column type to render. This means that most of the File data/methods can be private.
2014-05-04 21:33:14 +01:00

17 lines
469 B
Rust

fn formatBytes(mut amount: u64, kilo: u64, prefixes: ~[&str]) -> ~str {
let mut prefix = 0;
while amount > kilo {
amount /= kilo;
prefix += 1;
}
return format!("{:4}{}", amount, prefixes[prefix]);
}
pub fn formatBinaryBytes(amount: u64) -> ~str {
formatBytes(amount, 1024, ~[ "B ", "KiB", "MiB", "GiB", "TiB" ])
}
pub fn formatDecimalBytes(amount: u64) -> ~str {
formatBytes(amount, 1000, ~[ "B ", "KB", "MB", "GB", "TB" ])
}