summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-03-23 02:42:14 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-03-23 02:42:14 -0400
commit04539d16718265441c607da08d3e27d959f749c6 (patch)
tree4ea03b71718bb17383e8ecc46a394fd904691b29
parentcd1cb526522029cbc9c6c8fe396da1685bfb603b (diff)
improve size change display
-rw-r--r--Backend.hs14
-rw-r--r--DataUnits.hs8
2 files changed, 10 insertions, 12 deletions
diff --git a/Backend.hs b/Backend.hs
index fe61739e8..0ee56d262 100644
--- a/Backend.hs
+++ b/Backend.hs
@@ -192,15 +192,7 @@ checkKeySize key = do
then return True
else do
dest <- moveBad key
- warning $ badsizeNote dest size size'
+ warning $ "Bad file size (" ++
+ compareSizes True size size' ++
+ "); moved to " ++ dest
return False
-
-badsizeNote :: FilePath -> Integer -> Integer -> String
-badsizeNote dest expected got = "Bad file size (" ++ aside ++ "); moved to " ++ dest
- where
- expected' = roughSize True expected
- got' = roughSize True got
- aside =
- if expected' == got'
- then show got ++ " not " ++ show expected
- else got' ++ " not " ++ expected'
diff --git a/DataUnits.hs b/DataUnits.hs
index 329bf7e58..c2845affe 100644
--- a/DataUnits.hs
+++ b/DataUnits.hs
@@ -5,7 +5,7 @@
- Licensed under the GNU GPL version 3 or higher.
-}
-module DataUnits (roughSize) where
+module DataUnits (roughSize, compareSizes) where
{- And now a rant:
-
@@ -63,3 +63,9 @@ roughSize short i
plural n u
| n == 1 = u
| otherwise = u ++ "s"
+
+compareSizes :: Bool -> Integer -> Integer -> String
+compareSizes short old new
+ | old > new = roughSize short (old - new) ++ " smaller"
+ | old < new = roughSize short (new - old) ++ " larger"
+ | otherwise = "same"