From 938ff29b7b14d9840a92acb1d1ee4192bfc8e89e Mon Sep 17 00:00:00 2001 From: Mikkel Oscar Lyderik Date: Thu, 24 Mar 2016 22:13:42 +0100 Subject: [PATCH] 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); }