From ca2cf9265e2030a9098f18315e3addde7f518192 Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Mon, 18 Nov 2024 23:29:26 +0100 Subject: Refactor --- src/config.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'src/config.c') diff --git a/src/config.c b/src/config.c index 3f7da08..615c833 100644 --- a/src/config.c +++ b/src/config.c @@ -385,7 +385,7 @@ void config_init(config_t *config) bar->spacing = 10; } -void config_read(config_t *config, FILE *file) +int config_read(config_t *config, FILE *file) { any_ini_stream_t ini; any_ini_file_init(&ini, file); @@ -531,10 +531,7 @@ skip_pair: n_errors += errors; } while ((section = any_ini_stream_next_section(&ini)) != NULL); - if (n_errors > 0) { - log_error("Config file contained %d errors", n_errors); - exit(EXIT_FAILURE); - } + return n_errors; } bool config_resolve_children(config_t *config, block_t *block) @@ -595,7 +592,7 @@ error: return false; } -block_t *config_resolve(config_t *config) +int config_resolve(config_t *config, block_t **block) { int errors = 0; block_group_t *bar = (block_group_t *)config->blocks[0]; @@ -609,12 +606,8 @@ block_t *config_resolve(config_t *config) errors += !config_resolve_children(config, config->blocks[0]); } - if (errors > 0) { - log_error("Config could not be resolved"); - exit(EXIT_FAILURE); - } - - return config->blocks[0]; + *block = config->blocks[0]; + return errors; } void config_free(config_t *config) -- cgit v1.2.3