From 0e4df85ba1a931a812c441572f352090a934e6bc Mon Sep 17 00:00:00 2001 From: Luminarys Date: Wed, 19 Aug 2015 09:33:30 -0500 Subject: Fixed config loading --- sway/config.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'sway/config.c') diff --git a/sway/config.c b/sway/config.c index f38e37b6..ce05bc68 100644 --- a/sway/config.c +++ b/sway/config.c @@ -71,13 +71,21 @@ static const char *search_paths[] = { }; static char *get_config_path() { - char *home = strdup(getenv("HOME")); - char *config = strdup(getenv("XDG_CONFIG_HOME")); - if (!config) { - const char *def = "/.config/sway"; + char *home = getenv("HOME"); + if (home) { + home = strdup(getenv("HOME")); + } + char *config = getenv("XDG_CONFIG_HOME"); + if (config) { + config = strdup(getenv("XDG_CONFIG_HOME")); + } else if (home) { + const char *def = "/.config"; config = malloc(strlen(home) + strlen(def) + 1); strcpy(config, home); strcat(config, def); + } else { + home = strdup(""); + config = strdup(""); } // Set up a temporary config for holding set variables -- cgit v1.2.3