summaryrefslogtreecommitdiff
path: root/src/Utility/DataUnits.hs
diff options
context:
space:
mode:
authorJoey Hess2017-05-16 01:06:26 -0400
committerJoey Hess2017-05-16 01:06:26 -0400
commitfa5cbd91f46e35ece6d9cd64230a831dade042c0 (patch)
tree50b94c88a16b956826395694e14e0bc4a0ac9afc /src/Utility/DataUnits.hs
parentfe4a246419dcbc5700e048bbf074f5e9871d8546 (diff)
merge fixes from git-annex
Diffstat (limited to 'src/Utility/DataUnits.hs')
-rw-r--r--src/Utility/DataUnits.hs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Utility/DataUnits.hs b/src/Utility/DataUnits.hs
index 6e40932e..a6c9ffcf 100644
--- a/src/Utility/DataUnits.hs
+++ b/src/Utility/DataUnits.hs
@@ -45,6 +45,7 @@ module Utility.DataUnits (
ByteSize,
roughSize,
+ roughSize',
compareSizes,
readSize
) where
@@ -109,7 +110,10 @@ oldSchoolUnits = zipWith (curry mingle) storageUnits memoryUnits
{- approximate display of a particular number of bytes -}
roughSize :: [Unit] -> Bool -> ByteSize -> String
-roughSize units short i
+roughSize units short i = roughSize' units short 2 i
+
+roughSize' :: [Unit] -> Bool -> Int -> ByteSize -> String
+roughSize' units short precision i
| i < 0 = '-' : findUnit units' (negate i)
| otherwise = findUnit units' i
where
@@ -123,7 +127,7 @@ roughSize units short i
showUnit x (Unit size abbrev name) = s ++ " " ++ unit
where
v = (fromInteger x :: Double) / fromInteger size
- s = showImprecise 2 v
+ s = showImprecise precision v
unit
| short = abbrev
| s == "1" = name