# HG changeset patch # User Matti Hamalainen # Date 1338915417 -10800 # Node ID 93c8ba1ef55f618e3f61d864d075387d85f8e4f8 # Parent 291e3caa91a0ee8d964d0b8cb291008434de841f Support XDG specification. diff -r 291e3caa91a0 -r 93c8ba1ef55f main.c --- a/main.c Tue Jun 05 19:28:34 2012 +0300 +++ b/main.c Tue Jun 05 19:56:57 2012 +0300 @@ -1363,6 +1363,7 @@ th_cfg_add_string(&tmpcfg, "filename", &optLogFilename, optLogFilename); th_cfg_add_section(&cfg, "logging", tmpcfg); + // Get home directory path #ifdef __WIN32 { char tmpPath[MAX_PATH]; @@ -1372,7 +1373,18 @@ CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE); } #else - setHomeDir = th_strdup(getenv("HOME")); + { + char *xdgConfigDir = getenv("XDG_CONFIG_HOME"), + *userHomeDir = getenv("HOME"); +#ifdef USE_XDG + if (xdgConfigDir != NULL) + setHomeDir = th_strdup(xdgConfigDir); + else + setHomeDir = th_strdup_printf("%s/.config", userHomeDir); +#else + setHomeDir = th_strdup(userHomeDir); +#endif + } #endif if (setHomeDir != NULL)