From aa425c42389921dc4a71561c701014bf443f8094 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Tue, 11 Aug 2009 19:25:25 +0200 Subject: Added regex sets. Minor fixes and comments. Added pcre-config to Makefile. --- config.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'config.c') diff --git a/config.c b/config.c index ea574fb..437d993 100644 --- a/config.c +++ b/config.c @@ -3,6 +3,8 @@ #include +#include "regexset.h" + config_t config; int cfg_init() { @@ -12,20 +14,19 @@ int cfg_init() { strcpy(cfg_file, getenv("HOME")); strcat(cfg_file, "/.ircstats/config"); - if(config_read_file(&config, cfg_file) == CONFIG_TRUE) { - return 1; - } else { + if(config_read_file(&config, cfg_file) == CONFIG_FALSE) { int line = config_error_line(&config); if(line == 0) fprintf(stderr, "Could not read config: %s\n", config_error_text(&config)); else fprintf(stderr, "Parse error on line %d: %s\n", config_error_line(&config), config_error_text(&config)); + return 0; } config_setting_t *regexes_setting = config_lookup(&config, "regexes"); if(!config_setting_is_aggregate(regexes_setting)) { fprintf(stderr, "Setting \"regexes\" must be an aggregate type.\n"); - return 1; + return 0; } int regex_count = config_setting_length(regexes_setting); @@ -35,10 +36,12 @@ int cfg_init() { const char *text, *join; if(!(config_setting_lookup_string(re_setting, "text", &text) && config_setting_lookup_string(re_setting, "join", &join))) { fprintf(stderr, "Regex set #%d missing one or more keys.\n", i+1); - continue; + return 0; } + if(!rs_add(text, join)) + return 0; } - return 0; + return 1; } -- cgit v1.2.3