Mercurial > hg > nnchat
changeset 512:93c8ba1ef55f
Support XDG specification.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 05 Jun 2012 19:56:57 +0300 |
parents | 291e3caa91a0 |
children | ef5a2aa8382b |
files | main.c |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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)