raster pushed a commit to branch master.
commit efda5de46662300958d89374a8e3d3d786bc6d0c
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date: Tue May 28 12:31:59 2013 +0900
allow xdg dir usage if you add -DDOXDG to CFLAGS.
---
src/lib/elm_config.c | 36 ++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c
index dedb293..3ac06fb 100644
--- a/src/lib/elm_config.c
+++ b/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] = '/';
--
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may