Xinqi Bao's Git
projects
/
slstatus.git
/ diff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (parent:
f317819
)
Add fmt_scaled util function
author
Aaron Marcher <
[email protected]
>
Fri, 18 May 2018 21:14:10 +0000
(23:14 +0200)
committer
Aaron Marcher <
[email protected]
>
Fri, 18 May 2018 21:14:10 +0000
(23:14 +0200)
util.c
diff
|
blob
|
history
util.h
diff
|
blob
|
history
diff --git
a/util.c
b/util.c
index
08f14ff
..
a7576b4
100644
(file)
--- a/
util.c
+++ b/
util.c
@@
-65,6
+65,22
@@
bprintf(const char *fmt, ...)
return buf;
}
return buf;
}
+const char *
+fmt_scaled(size_t bytes)
+{
+ unsigned int i;
+ float scaled;
+ const char *units[] = { "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB",
+ "ZiB", "YiB" };
+
+ scaled = bytes;
+ for (i = 0; i < LEN(units) && scaled >= 1024; i++) {
+ scaled /= 1024.0;
+ }
+
+ return bprintf("%.1f%s", scaled, units[i]);
+}
+
int
pscanf(const char *path, const char *fmt, ...)
{
int
pscanf(const char *path, const char *fmt, ...)
{
diff --git
a/util.h
b/util.h
index
a73b103
..
bd05574
100644
(file)
--- a/
util.h
+++ b/
util.h
@@
-9,4
+9,5
@@
void warn(const char *, ...);
void die(const char *, ...);
const char *bprintf(const char *fmt, ...);
void die(const char *, ...);
const char *bprintf(const char *fmt, ...);
+const char *fmt_scaled(size_t);
int pscanf(const char *path, const char *fmt, ...);
int pscanf(const char *path, const char *fmt, ...);