dont use format string if an error occures

This commit is contained in:
Linus Dierheimer
2021-04-03 21:51:50 +02:00
parent 67465d266e
commit e01d03f98d
13 changed files with 198 additions and 152 deletions
+14 -9
View File
@@ -12,8 +12,9 @@ static void getKDE(FFstrbuf* name, FFstrbuf* version, FFstrbuf* type)
void ffPrintDesktopEnvironment(FFinstance* instance)
{
FFstrbuf sessionDesktop;
ffStrbufInitS(&sessionDesktop, getenv("XDG_CURRENT_DESKTOP"));
FF_STRBUF_CREATE(sessionDesktop);
ffStrbufAppendS(&sessionDesktop, getenv("XDG_CURRENT_DESKTOP"));
if(sessionDesktop.length == 0)
ffStrbufSetS(&sessionDesktop, getenv("XDG_SESSION_DESKTOP"));
@@ -38,13 +39,17 @@ void ffPrintDesktopEnvironment(FFinstance* instance)
ffStrbufSetS(&sessionType, xdgSessionType);
}
if(sessionDesktop.length == 0 && sessionType.length == 0)
{
ffPrintError(instance, &instance->config.deKey, "DE", "No relevant XDG_SESSION_* environment variable set");
ffStrbufDestroy(&sessionDesktop);
ffStrbufDestroy(&sessionVersion);
ffStrbufDestroy(&sessionType);
return;
}
if(instance->config.deFormat.length == 0)
{
if(sessionDesktop.length == 0 && sessionType.length == 0)
{
ffPrintError(instance, &instance->config.deKey, "DE", "Neither DE nor Display Server could be determined");
return;
}
ffPrintLogoAndKey(instance, &instance->config.deKey, "DE");
@@ -75,7 +80,7 @@ void ffPrintDesktopEnvironment(FFinstance* instance)
(FFformatarg){FF_FORMAT_ARG_TYPE_STRBUF, &sessionType}
);
}
ffStrbufDestroy(&sessionType);
ffStrbufDestroy(&sessionVersion);
ffStrbufDestroy(&sessionDesktop);
ffStrbufDestroy(&sessionVersion);
ffStrbufDestroy(&sessionType);
}