Browse Source

Merge pull request #59 from chrboe/xdg-cache-dir

Respect XDG_CACHE_HOME
Joachim Nilsson 6 years ago
parent
commit
08bb6f2703
No account linked to committer's email
1 changed files with 8 additions and 3 deletions
  1. 8
    3
      src/light.c

+ 8
- 3
src/light.c View File

303
 	int rc;
303
 	int rc;
304
 
304
 
305
 	/* Classic SUID root mode or new user based cache files */
305
 	/* Classic SUID root mode or new user based cache files */
306
-	if (geteuid() == 0)
306
+	if (geteuid() == 0) {
307
 		snprintf(ctx.prefix, sizeof(ctx.prefix), "%s", "/etc/light");
307
 		snprintf(ctx.prefix, sizeof(ctx.prefix), "%s", "/etc/light");
308
-	else
309
-		snprintf(ctx.prefix, sizeof(ctx.prefix), "%s/.cache/light", getenv("HOME"));
308
+	} else {
309
+		char *xdg_cache = getenv("XDG_CACHE_HOME");
310
+		if (xdg_cache != NULL)
311
+			snprintf(ctx.prefix, sizeof(ctx.prefix), "%s/light", xdg_cache);
312
+		else
313
+			snprintf(ctx.prefix, sizeof(ctx.prefix), "%s/.cache/light", getenv("HOME"));
314
+	}
310
 
315
 
311
 	light_defaults();
316
 	light_defaults();
312
 	if (!light_parse_args(argc, argv)) {
317
 	if (!light_parse_args(argc, argv)) {