From 5dc42df7d0a7674bd713d575b6c8ae379ce2d947 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Wed, 9 Dec 2020 21:21:17 -0500 Subject: [PATCH] Context: Correctly respect empty XDG_CONFIG_HOME --- src/Context.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Context.cpp b/src/Context.cpp index 313bd26b8..3e1b6b1cb 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -462,9 +462,14 @@ int Context::initialize (int argc, const char** argv) // XDG_CONFIG_HOME doesn't count as an override (no warning header) if (! rc_file.exists ()) { - const char* xdg_config_home = getenv ("XDG_CONFIG_HOME"); - if (! xdg_config_home) - xdg_config_home = format ("{1}/.config", home_dir).c_str(); + // Use XDG_CONFIG_HOME if defined, otherwise default to ~/.config + std::string xdg_config_home; + const char* env_xdg_config_home = getenv ("XDG_CONFIG_HOME"); + + if (env_xdg_config_home) + xdg_config_home = format ("{1}/.config", env_xdg_config_home); + else + xdg_config_home = format ("{1}/.config", home_dir); // https://github.com/GothenburgBitFactory/libshared/issues/32 std::string rcfile_path = format ("{1}/task/taskrc", xdg_config_home);