mirror of
https://github.com/polybar/polybar.git
synced 2024-11-18 13:55:11 -05:00
fs: Fix wrong size report
This commit is contained in:
parent
9a72584680
commit
84ee0d560c
2 changed files with 12 additions and 7 deletions
|
@ -257,15 +257,16 @@ namespace string_util {
|
|||
/**
|
||||
* Create a filesize string by converting given bytes to highest unit possible
|
||||
*/
|
||||
string filesize(unsigned long long kbytes, size_t precision, bool fixed, const string& locale) {
|
||||
vector<string> suffixes{"TB", "GB", "MB"};
|
||||
string suffix{"KB"};
|
||||
double value = kbytes;
|
||||
while (!suffixes.empty() && (value /= 1024.0) >= 1024.0) {
|
||||
string filesize(unsigned long long bytes, size_t precision, bool fixed, const string& locale) {
|
||||
vector<string> suffixes{"TB", "GB", "MB", "KB"};
|
||||
string suffix{"B"};
|
||||
double value = bytes;
|
||||
while (!suffixes.empty() && value >= 1024.0) {
|
||||
suffix = suffixes.back();
|
||||
suffixes.pop_back();
|
||||
value /= 1024.0;
|
||||
}
|
||||
return floating_point(value, precision, fixed, locale) + " GB";
|
||||
return floating_point(value, precision, fixed, locale) + " " + suffix;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -98,7 +98,11 @@ int main() {
|
|||
expect(string_util::filesize_gb(3 * 1024 * 1024 + 200 * 1024, 3) == "3.195 GB");
|
||||
expect(string_util::filesize_gb(3 * 1024 * 1024 + 400 * 1024) == "3 GB");
|
||||
expect(string_util::filesize_gb(3 * 1024 * 1024 + 800 * 1024) == "4 GB");
|
||||
expect(string_util::filesize(3 * 1024 * 1024) == "3 GB");
|
||||
expect(string_util::filesize(3) == "3 B");
|
||||
expect(string_util::filesize(3 * 1024) == "3 KB");
|
||||
expect(string_util::filesize(3 * 1024 * 1024) == "3 MB");
|
||||
expect(string_util::filesize((unsigned long long)3 * 1024 * 1024 * 1024) == "3 GB");
|
||||
expect(string_util::filesize((unsigned long long)3 * 1024 * 1024 * 1024 * 1024) == "3 TB");
|
||||
};
|
||||
|
||||
"sstream"_test = [] {
|
||||
|
|
Loading…
Reference in a new issue