From 091a356807c1133855aea95eb35d4ff9815ed7e1 Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Sun, 3 May 2020 14:31:45 -0500 Subject: [PATCH] fix/df ~ correct number suffix display by using number_prefix `PrefixNames::symbol()` --- src/uu/df/src/df.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/uu/df/src/df.rs b/src/uu/df/src/df.rs index 5762b4ac3..62225749b 100644 --- a/src/uu/df/src/df.rs +++ b/src/uu/df/src/df.rs @@ -29,7 +29,7 @@ use kernel32::{ GetVolumeInformationW, GetVolumePathNamesForVolumeNameW, QueryDosDeviceW, }; -use number_prefix::{binary_prefix, decimal_prefix, Prefixed, Standalone}; +use number_prefix::{binary_prefix, decimal_prefix, Prefixed, Standalone, PrefixNames}; use std::cell::Cell; use std::collections::HashMap; use std::collections::HashSet; @@ -716,14 +716,17 @@ fn human_readable(value: u64, base: i64) -> String { match base { d if d < 0 => value.to_string(), + // ref: [Binary prefix](https://en.wikipedia.org/wiki/Binary_prefix) @@ + // ref: [SI/metric prefix](https://en.wikipedia.org/wiki/Metric_prefix) @@ + 1000 => match decimal_prefix(value as f64) { Standalone(bytes) => bytes.to_string(), - Prefixed(prefix, bytes) => format!("{:.1}{}", bytes, prefix).to_uppercase(), + Prefixed(prefix, bytes) => format!("{:.1}{}", bytes, prefix.symbol()), }, 1024 => match binary_prefix(value as f64) { Standalone(bytes) => bytes.to_string(), - Prefixed(prefix, bytes) => format!("{:.1}{}", bytes, prefix).to_uppercase(), + Prefixed(prefix, bytes) => format!("{:.1}{}", bytes, prefix.symbol()), }, _ => crash!(EXIT_ERR, "Internal error: Unknown base value {}", base),