diff options
-rw-r--r-- | common/util.cpp | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/common/util.cpp b/common/util.cpp index 7c309ce364..4b7537f8ec 100644 --- a/common/util.cpp +++ b/common/util.cpp @@ -168,38 +168,31 @@ bool isGraph(int c) { Common::String getHumanReadableBytes(uint64 bytes, Common::String &unitsOut) { - Common::String result = Common::String::format("%lu", bytes); - unitsOut = "B"; - - if (bytes >= 1024) { - bytes /= 1024; - result = Common::String::format("%lu", bytes); - unitsOut = "KB"; + if (bytes < 1024) { + unitsOut = "B"; + return Common::String::format("%lu", (unsigned long int)bytes); } - double floating = bytes; + double floating = bytes / 1024.0; + unitsOut = "KB"; - if (bytes >= 1024) { - bytes /= 1024; + if (floating >= 1024) { floating /= 1024.0; unitsOut = "MB"; } - if (bytes >= 1024) { - bytes /= 1024; + if (floating >= 1024) { floating /= 1024.0; unitsOut = "GB"; } - if (bytes >= 1024) { // woah - bytes /= 1024; + if (floating >= 1024) { // woah floating /= 1024.0; unitsOut = "TB"; } // print one digit after floating point - result = Common::String::format("%.1f", floating); - return result; + return Common::String::format("%.1f", floating); } } // End of namespace Common |