Context: Correctly respect empty XDG_CONFIG_HOME

This commit is contained in:
Tomas Babej
2020-12-09 21:21:17 -05:00
parent 1f98b9d128
commit 5dc42df7d0

View File

@@ -462,9 +462,14 @@ int Context::initialize (int argc, const char** argv)
// XDG_CONFIG_HOME doesn't count as an override (no warning header) // XDG_CONFIG_HOME doesn't count as an override (no warning header)
if (! rc_file.exists ()) if (! rc_file.exists ())
{ {
const char* xdg_config_home = getenv ("XDG_CONFIG_HOME"); // Use XDG_CONFIG_HOME if defined, otherwise default to ~/.config
if (! xdg_config_home) std::string xdg_config_home;
xdg_config_home = format ("{1}/.config", home_dir).c_str(); 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 // https://github.com/GothenburgBitFactory/libshared/issues/32
std::string rcfile_path = format ("{1}/task/taskrc", xdg_config_home); std::string rcfile_path = format ("{1}/task/taskrc", xdg_config_home);