diff --git a/src/common/init.c b/src/common/init.c index b81b2933f..8c380b3ca 100644 --- a/src/common/init.c +++ b/src/common/init.c @@ -21,6 +21,8 @@ static void initConfigDirs(FFstate* state) { ffListInit(&state->configDirs, sizeof(FFstrbuf)); + #if !(defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)) + const char* xdgConfigHome = getenv("XDG_CONFIG_HOME"); if(ffStrSet(xdgConfigHome)) { @@ -30,6 +32,8 @@ static void initConfigDirs(FFstate* state) ffStrbufEnsureEndsWithC(buffer, '/'); } + #endif + #define FF_ENSURE_ONLY_ONCE_IN_LIST(element) \ if(ffListFirstIndexComp(&state->configDirs, element, (bool(*)(const void*, const void*))ffStrbufEqual) < state->configDirs.length - 1) \ { \ @@ -49,6 +53,8 @@ static void initConfigDirs(FFstate* state) ffStrbufEnsureEndsWithC(userHome, '/'); FF_ENSURE_ONLY_ONCE_IN_LIST(userHome) + #if !(defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)) + FFstrbuf xdgConfigDirs; ffStrbufInitA(&xdgConfigDirs, 64); ffStrbufAppendS(&xdgConfigDirs, getenv("XDG_CONFIG_DIRS")); @@ -80,6 +86,8 @@ static void initConfigDirs(FFstate* state) ffStrbufAppendS(systemConfigHome, FASTFETCH_TARGET_DIR_ETC"/xdg/"); FF_ENSURE_ONLY_ONCE_IN_LIST(systemConfigHome) + #endif + FFstrbuf* systemConfig = ffListAdd(&state->configDirs); ffStrbufInitA(systemConfig, 64); ffStrbufAppendS(systemConfig, FASTFETCH_TARGET_DIR_ETC"/");