add support for XDG_CACHE_HOME to the obt paths
Dana Jansens danakj@orodu.net
2 files changed,
14 insertions(+),
0 deletions(-)
M
obt/paths.c
→
obt/paths.c
@@ -34,6 +34,7 @@ {
gint ref; gchar *config_home; gchar *data_home; + gchar *cache_home; GSList *config_dirs; GSList *data_dirs; };@@ -94,6 +95,12 @@ p->data_home = g_build_filename(path, NULL);
else p->data_home = g_build_filename(g_get_home_dir(), ".local", "share", NULL); + + path = g_getenv("XDG_CACHE_HOME"); + if (path && path[0] != '\0') /* not unset or empty */ + p->cache_home = g_build_filename(path, NULL); + else + p->cache_home = g_build_filename(g_get_home_dir(), ".cache", NULL); path = g_getenv("XDG_CONFIG_DIRS"); if (path && path[0] != '\0') /* not unset or empty */@@ -154,6 +161,7 @@ g_free(it->data);
g_slist_free(p->data_dirs); g_free(p->config_home); g_free(p->data_home); + g_free(p->cache_home); obt_free0(p, ObtPaths, 1); }@@ -221,6 +229,11 @@
const gchar* obt_paths_data_home(ObtPaths *p) { return p->data_home; +} + +const gchar* obt_paths_cache_home(ObtPaths *p) +{ + return p->cache_home; } GSList* obt_paths_config_dirs(ObtPaths *p)
M
obt/paths.h
→
obt/paths.h
@@ -31,6 +31,7 @@ void obt_paths_unref(ObtPaths *p);
const gchar* obt_paths_config_home(ObtPaths *p); const gchar* obt_paths_data_home(ObtPaths *p); +const gchar* obt_paths_cache_home(ObtPaths *p); GSList* obt_paths_config_dirs(ObtPaths *p); GSList* obt_paths_data_dirs(ObtPaths *p);