dont print line if format evaluates to an empty string

This commit is contained in:
Linus Dierheimer
2021-03-27 15:39:56 +01:00
parent 055804a055
commit beb2e9608c
16 changed files with 120 additions and 147 deletions
+4 -10
View File
@@ -12,30 +12,24 @@ void ffPrintDisk(FFinstance* instance)
return;
}
uint32_t GB = (1024 * 1024) * 1024;
const uint32_t GB = (1024 * 1024) * 1024;
uint32_t total = (fs.f_blocks * fs.f_frsize) / GB;
uint32_t available = (fs.f_bfree * fs.f_frsize) / GB;
uint32_t used = total - available;
uint32_t used = total - available;
uint8_t percentage = (used / (double) total) * 100.0;
ffPrintLogoAndKey(instance, "Disk (/)");
if(instance->config.diskFormat.length == 0)
{
ffPrintLogoAndKey(instance, "Disk (/)");
printf("%uGB / %uGB (%u%%)\n", used, total, percentage);
}
else
{
FF_STRBUF_CREATE(disk);
ffParseFormatString(&disk, &instance->config.diskFormat, 3,
ffPrintFormatString(instance, "Disk (/)", &instance->config.diskFormat, 3,
(FFformatarg){FF_FORMAT_ARG_TYPE_UINT, &used},
(FFformatarg){FF_FORMAT_ARG_TYPE_UINT, &total},
(FFformatarg){FF_FORMAT_ARG_TYPE_UINT8, &percentage}
);
ffStrbufPutTo(&disk, stdout);
ffStrbufDestroy(&disk);
}
}