From 938ff29b7b14d9840a92acb1d1ee4192bfc8e89e Mon Sep 17 00:00:00 2001
From: Mikkel Oscar Lyderik <mikkeloscar@gmail.com>
Date: Thu, 24 Mar 2016 22:13:42 +0100
Subject: Gracefully exit when config is not found

This makes sure that sway will gracefully exit if the config is not
found or sway is unable to read it.
---
 sway/config.c | 8 ++++++--
 sway/main.c   | 3 ++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/sway/config.c b/sway/config.c
index ebf7546d..a5fdf850 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -256,7 +256,7 @@ bool load_config(const char *file) {
 
 	FILE *f = fopen(path, "r");
 	if (!f) {
-		fprintf(stderr, "Unable to open %s for reading", path);
+		sway_log(L_ERROR, "Unable to open %s for reading", path);
 		free(path);
 		return false;
 	}
@@ -272,7 +272,11 @@ bool load_config(const char *file) {
 
 	update_active_bar_modifiers();
 
-	return config_load_success;
+	if (!config_load_success) {
+		sway_log(L_ERROR, "Error(s) loading config!");
+	}
+
+	return true;
 }
 
 bool read_config(FILE *file, bool is_active) {
diff --git a/sway/main.c b/sway/main.c
index eef1ad19..c4a5d497 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -211,8 +211,9 @@ int main(int argc, char **argv) {
 	}
 
 	if (!load_config(config_path)) {
-		sway_log(L_ERROR, "Error(s) loading config!");
+		sway_terminate(EXIT_FAILURE);
 	}
+
 	if (config_path) {
 		free(config_path);
 	}
-- 
cgit v1.2.3