From 225d1dd4d2b3e98a532879de34c8ae0a8b16a8a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Tue, 20 Dec 2022 23:29:23 +0800 Subject: [PATCH] Init: don't try to find config files in XDG folders on platforms other than Linux and BSD --- src/common/init.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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"/");