allow xdg dir usage if you add -DDOXDG to CFLAGS.

This commit is contained in:
Carsten Haitzler 2013-05-28 12:32:31 +09:00
parent b5b0756e79
commit 4be1d4537a
1 changed files with 22 additions and 7 deletions

View File

@ -130,23 +130,38 @@ EAPI const char *
e_user_dir_get(void) e_user_dir_get(void)
{ {
static char dir[PATH_MAX] = ""; static char dir[PATH_MAX] = "";
static char buf[PATH_MAX] = "";
if (!dir[0]) if (!dir[0])
{ {
char *e_home = getenv("E_HOME"); char *d;
if (e_home)
if ((d = getenv("E_HOME")))
{ {
snprintf(buf, sizeof(buf), "%s/e", e_home); snprintf(dir, sizeof(dir), "%s/e", d);
_e_user_dir_len = strlen(dir);
} }
else else
{ {
snprintf(buf, sizeof(buf), ".e/e"); #ifdef DOXDG
if ((d = getenv("XDG_CONFIG_HOME")))
{
snprintf(dir, sizeof(dir), "%s/e", d);
_e_user_dir_len = strlen(dir);
}
else
#endif
{
#ifdef DOXDG
_e_user_dir_len = e_user_homedir_concat(dir, sizeof(dir),
".config/e");
#else
_e_user_dir_len = e_user_homedir_concat(dir, sizeof(dir),
".e/e");
#endif
}
} }
_e_user_dir_len = e_user_homedir_concat(dir, sizeof(dir), buf);
_e_user_dir = dir; _e_user_dir = dir;
} }
return dir; return dir;
} }