diff options
Diffstat (limited to 'src/config.c')
| -rw-r--r-- | src/config.c | 17 |
1 files changed, 5 insertions, 12 deletions
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) |
