better result handling of calculation functions

This commit is contained in:
Linus Dierheimer
2021-04-22 21:41:42 +02:00
parent c12484ec6b
commit e28126f40e
23 changed files with 520 additions and 407 deletions
+13 -9
View File
@@ -5,24 +5,28 @@
void ffPrintIcons(FFinstance* instance)
{
ffCalculatePlasmaAndGtk(instance);
const FFstrbuf* plasma = &ffCalculatePlasma(instance)->icons;
const FFstrbuf* gtk2 = &ffCalculateGTK2(instance)->icons;
const FFstrbuf* gtk3 = &ffCalculateGTK3(instance)->icons;
const FFstrbuf* gtk4 = &ffCalculateGTK4(instance)->icons;
if(instance->state.plasma.icons.length == 0 && instance->state.gtk2.icons.length == 0 && instance->state.gtk3.icons.length == 0 && instance->state.gtk4.icons.length == 0)
if(plasma->length == 0 && gtk2->length == 0 && gtk3->length == 0 && gtk4->length == 0)
{
ffPrintError(instance, FF_ICONS_MODULE_NAME, 0, &instance->config.iconsKey, &instance->config.iconsFormat, FF_ICONS_NUM_FORMAT_ARGS, "No icons could be found");
return;
}
FF_STRBUF_CREATE(gtkPretty);
ffGetGtkPretty(&gtkPretty, &instance->state.gtk2.icons, &instance->state.gtk3.icons, &instance->state.gtk4.icons);
ffGetGtkPretty(&gtkPretty, gtk2, gtk3, gtk4);
if(instance->config.iconsFormat.length == 0)
{
ffPrintLogoAndKey(instance, FF_ICONS_MODULE_NAME, 0, &instance->config.iconsKey);
if(instance->state.plasma.icons.length > 0)
if(plasma->length > 0)
{
ffStrbufWriteTo(&instance->state.plasma.icons, stdout);
ffStrbufWriteTo(plasma, stdout);
fputs(" [Plasma]", stdout);
if(gtkPretty.length > 0)
@@ -34,10 +38,10 @@ void ffPrintIcons(FFinstance* instance)
else
{
ffPrintFormatString(instance, FF_ICONS_MODULE_NAME, 0, &instance->config.iconsKey, &instance->config.iconsFormat, NULL, FF_ICONS_NUM_FORMAT_ARGS, (FFformatarg[]){
{FF_FORMAT_ARG_TYPE_STRBUF, &instance->state.plasma.icons},
{FF_FORMAT_ARG_TYPE_STRBUF, &instance->state.gtk2.icons},
{FF_FORMAT_ARG_TYPE_STRBUF, &instance->state.gtk3.icons},
{FF_FORMAT_ARG_TYPE_STRBUF, &instance->state.gtk4.icons},
{FF_FORMAT_ARG_TYPE_STRBUF, plasma},
{FF_FORMAT_ARG_TYPE_STRBUF, gtk2},
{FF_FORMAT_ARG_TYPE_STRBUF, gtk3},
{FF_FORMAT_ARG_TYPE_STRBUF, gtk4},
{FF_FORMAT_ARG_TYPE_STRBUF, &gtkPretty}
});
}