format options for every output!

This commit is contained in:
Linus Dierheimer
2021-03-19 20:57:07 +01:00
parent 5c6bbbf677
commit 1ceb5c91ac
34 changed files with 1500 additions and 695 deletions
+18 -9
View File
@@ -2,14 +2,23 @@
void ffPrintKernel(FFinstance* instance)
{
ffPrintLogoAndKey(instance, "Kernel");
if(instance->config.kernelShowRelease && instance->config.kernelShowVersion)
printf("%s %s\n", instance->state.utsname.release, instance->state.utsname.version);
else if(instance->config.kernelShowRelease)
if(ffStrbufIsEmpty(&instance->config.kernelFormat))
{
ffPrintLogoAndKey(instance, "Kernel");
puts(instance->state.utsname.release);
else if(instance->config.kernelShowVersion)
puts(instance->state.utsname.version);
else
puts(instance->state.utsname.sysname);
return;
}
FFstrbuf kernel;
ffStrbufInit(&kernel);
ffParseFormatString(&kernel, &instance->config.kernelFormat, 3,
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, instance->state.utsname.sysname},
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, instance->state.utsname.release},
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, instance->state.utsname.version}
);
ffPrintLogoAndKey(instance, "Kernel");
ffStrbufWriteTo(&kernel, stdout);
ffStrbufDestroy(&kernel);
}