summaryrefslogtreecommitdiff
path: root/src/print_disk_info.c
diff options
context:
space:
mode:
authorFelix Buehler <account@buehler.rocks>2018-06-02 02:32:25 +0200
committerFelix Buehler <account@buehler.rocks>2018-07-13 15:03:31 +0200
commit52e9f6f63b74db2a6a1d67524851649b18794950 (patch)
tree5f6ab7b574e6fad71cdd2d8ac21c19ba0768d936 /src/print_disk_info.c
parent9aafc38370e5f2b337643d22aa04f4d34208fb03 (diff)
able to print percentage
its now possible to have percentage before and after a variable. except for the date. But percentage with dates does not make much sense to me, so i skipped it.
Diffstat (limited to 'src/print_disk_info.c')
-rw-r--r--src/print_disk_info.c28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/print_disk_info.c b/src/print_disk_info.c
index 770e718..bc43da0 100644
--- a/src/print_disk_info.c
+++ b/src/print_disk_info.c
@@ -172,47 +172,41 @@ void print_disk_info(yajl_gen json_gen, char *buffer, const char *path, const ch
for (walk = selected_format; *walk != '\0'; walk++) {
if (*walk != '%') {
*(outwalk++) = *walk;
- continue;
- }
- if (BEGINS_WITH(walk + 1, "free")) {
+ } else if (BEGINS_WITH(walk + 1, "free")) {
outwalk += print_bytes_human(outwalk, (uint64_t)buf.f_bsize * (uint64_t)buf.f_bfree, prefix_type);
walk += strlen("free");
- }
- if (BEGINS_WITH(walk + 1, "used")) {
+ } else if (BEGINS_WITH(walk + 1, "used")) {
outwalk += print_bytes_human(outwalk, (uint64_t)buf.f_bsize * ((uint64_t)buf.f_blocks - (uint64_t)buf.f_bfree), prefix_type);
walk += strlen("used");
- }
- if (BEGINS_WITH(walk + 1, "total")) {
+ } else if (BEGINS_WITH(walk + 1, "total")) {
outwalk += print_bytes_human(outwalk, (uint64_t)buf.f_bsize * (uint64_t)buf.f_blocks, prefix_type);
walk += strlen("total");
- }
- if (BEGINS_WITH(walk + 1, "avail")) {
+ } else if (BEGINS_WITH(walk + 1, "avail")) {
outwalk += print_bytes_human(outwalk, (uint64_t)buf.f_bsize * (uint64_t)buf.f_bavail, prefix_type);
walk += strlen("avail");
- }
- if (BEGINS_WITH(walk + 1, "percentage_free")) {
+ } else if (BEGINS_WITH(walk + 1, "percentage_free")) {
outwalk += sprintf(outwalk, "%.01f%s", 100.0 * (double)buf.f_bfree / (double)buf.f_blocks, pct_mark);
walk += strlen("percentage_free");
- }
- if (BEGINS_WITH(walk + 1, "percentage_used_of_avail")) {
+ } else if (BEGINS_WITH(walk + 1, "percentage_used_of_avail")) {
outwalk += sprintf(outwalk, "%.01f%s", 100.0 * (double)(buf.f_blocks - buf.f_bavail) / (double)buf.f_blocks, pct_mark);
walk += strlen("percentage_used_of_avail");
- }
- if (BEGINS_WITH(walk + 1, "percentage_used")) {
+ } else if (BEGINS_WITH(walk + 1, "percentage_used")) {
outwalk += sprintf(outwalk, "%.01f%s", 100.0 * (double)(buf.f_blocks - buf.f_bfree) / (double)buf.f_blocks, pct_mark);
walk += strlen("percentage_used");
- }
- if (BEGINS_WITH(walk + 1, "percentage_avail")) {
+ } else if (BEGINS_WITH(walk + 1, "percentage_avail")) {
outwalk += sprintf(outwalk, "%.01f%s", 100.0 * (double)buf.f_bavail / (double)buf.f_blocks, pct_mark);
walk += strlen("percentage_avail");
+
+ } else {
+ *(outwalk++) = '%';
}
}