From 643c9cff24b3d772e9bff38b7cd26cae6c17b6d7 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Tue, 28 May 2013 12:31:59 +0900 Subject: [PATCH] allow xdg dir usage if you add -DDOXDG to CFLAGS. --- legacy/elementary/src/lib/elm_config.c | 36 ++++++++++++++++++++------ 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/legacy/elementary/src/lib/elm_config.c b/legacy/elementary/src/lib/elm_config.c index dedb29312b..3ac06fb8fd 100644 --- a/legacy/elementary/src/lib/elm_config.c +++ b/legacy/elementary/src/lib/elm_config.c @@ -522,18 +522,38 @@ _elm_user_dir_snprintf(char *dst, #ifdef _WIN32 home = evil_homedir_get(); + user_dir_len = eina_str_join_len + (dst, size, '/', home, strlen(home), + ELEMENTARY_BASE_DIR, sizeof(ELEMENTARY_BASE_DIR) - 1); #else - home = getenv("HOME"); +#ifdef DOXDG + home = getenv("XDG_CONFIG_HOME"); + if (home) + { + user_dir_len = eina_str_join_len + (dst, size, '/', home, strlen(home), + "elementary", sizeof("elementary") - 1); + } + else +#endif + { + if (!home) home = getenv("HOME"); + if (!home) home = "/"; +#ifdef DOXDG + user_dir_len = eina_str_join_len + (dst, size, '/', home, strlen(home), + ".config", sizeof(".config") - 1, + "elementary", sizeof("elementary") - 1); +#else + user_dir_len = eina_str_join_len + (dst, size, '/', home, strlen(home), + ELEMENTARY_BASE_DIR, sizeof(ELEMENTARY_BASE_DIR) - 1); +#endif + } #endif - if (!home) - home = "/"; - - user_dir_len = eina_str_join_len(dst, size, '/', home, strlen(home), - ELEMENTARY_BASE_DIR, sizeof(ELEMENTARY_BASE_DIR) - 1); off = user_dir_len + 1; - if (off >= size) - goto end; + if (off >= size) goto end; va_start(ap, fmt); dst[user_dir_len] = '/';