From 0414263ca5e2ef787df03b14b1a9748b350f3012 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sun, 1 Dec 2019 20:21:46 -0500 Subject: Add XDG_DATA_DIRS default value --- litterbox.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/litterbox.h b/litterbox.h index 48d707c..07d4bbc 100644 --- a/litterbox.h +++ b/litterbox.h @@ -48,15 +48,19 @@ static inline sqlite3 *dbOpen(int flags) { const char *home = getenv("HOME"); const char *dataHome = getenv("XDG_DATA_HOME"); const char *dataDirs = getenv("XDG_DATA_DIRS"); + char path[PATH_MAX]; if (dataHome) { snprintf(path, sizeof(path), "%s/" DATABASE_PATH, dataHome); } else { + if (!home) errx(EX_CONFIG, "HOME unset"); snprintf(path, sizeof(path), "%s/.local/share/" DATABASE_PATH, home); } sqlite3 *db = dbOpenPath(path, flags); if (db) return db; - while (dataDirs && *dataDirs) { + + if (!dataDirs) dataDirs = "/usr/local/share:/usr/share"; + while (*dataDirs) { size_t len = strcspn(dataDirs, ":"); snprintf(path, sizeof(path), "%.*s/" DATABASE_PATH, (int)len, dataDirs); db = dbOpenPath(path, flags); -- cgit 1.4.1