From d4c836fd252264a42a444c11fc4091d4c7c73c0f Mon Sep 17 00:00:00 2001 From: Linus Dierheimer Date: Sat, 30 Jul 2022 23:30:46 +0200 Subject: [PATCH] Handle empty xdg env vars better --- src/common/init.c | 9 ++++++++- src/detection/gtk.c | 5 ----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/common/init.c b/src/common/init.c index 3f71de1d1..b1f086fb8 100644 --- a/src/common/init.c +++ b/src/common/init.c @@ -1,5 +1,6 @@ #include "fastfetch.h" #include "common/caching.h" +#include "common/parsing.h" #include "detection/qt.h" #include "detection/gtk.h" #include "detection/displayserver.h" @@ -20,7 +21,7 @@ static void initConfigDirs(FFstate* state) ffListInit(&state->configDirs, sizeof(FFstrbuf)); const char* xdgConfigHome = getenv("XDG_CONFIG_HOME"); - if(xdgConfigHome != NULL) + if(ffStrSet(xdgConfigHome)) { FFstrbuf* buffer = (FFstrbuf*) ffListAdd(&state->configDirs); ffStrbufInitA(buffer, 64); @@ -54,6 +55,12 @@ static void initConfigDirs(FFstate* state) uint32_t colonIndex = ffStrbufNextIndexC(&xdgConfigDirs, startIndex, ':'); xdgConfigDirs.chars[colonIndex] = '\0'; + if(!ffStrSet(xdgConfigDirs.chars + startIndex)) + { + startIndex = colonIndex + 1; + continue; + } + FFstrbuf* buffer = (FFstrbuf*) ffListAdd(&state->configDirs); ffStrbufInitA(buffer, 64); ffStrbufAppendS(buffer, xdgConfigDirs.chars + startIndex); diff --git a/src/detection/gtk.c b/src/detection/gtk.c index 79acb6b61..af7488b44 100644 --- a/src/detection/gtk.c +++ b/src/detection/gtk.c @@ -107,11 +107,6 @@ static void detectGTKFromConfigFile(const char* filename, FFGTKResult* result) static void detectGTKFromConfigDir(FFstrbuf* configDir, const char* version, FFGTKResult* result) { - //In case of an empty env variable - ffStrbufTrim(configDir, ' '); - if(configDir->length == 0) - return; - uint32_t configDirLength = configDir->length; // /gtk-.0/settings.ini