Make configuration file errors print the error via standard logging function. Clean...
authorfatbob313 <martin@fatbob.nu>
Thu, 20 Jan 2011 08:45:18 +0000 (08:45 +0000)
committerfatbob313 <martin@fatbob.nu>
Thu, 20 Jan 2011 08:45:18 +0000 (08:45 +0000)
src/conf.c
src/conf.h
src/main.c

index 185e508a0b97bff9101f135df38514da1e8ffdd6..72fd8f1563ec7c92ab8c767f10f02e9312798843 100644 (file)
@@ -48,17 +48,15 @@ static config_t configuration;
 
 const char defaultconfig[] = DEFAULT_CONFIG;
 
-int Conf_init(const char *conffile)
+void Conf_init(const char *conffile)
 {
        config_init(&configuration);
        if (conffile == NULL)
                conffile = defaultconfig;
        if (config_read_file(&configuration, conffile) != CONFIG_TRUE) {
-               fprintf(stderr, "Error in config file %s: %s at line %d\n", conffile,
-                               config_error_text(&configuration), config_error_line(&configuration));
-               exit(1);
+               Log_fatal("Error in config file %s line %d: %s", conffile,
+                                 config_error_line(&configuration), config_error_text(&configuration));
        }
-       return 0;
 }
 
 void Conf_deinit()
index 7967716fa04a65a22f43d5493a3a171a77487464..1b9b21e9da929a0a31bf0902f651b1afb45cb1bc 100644 (file)
@@ -57,7 +57,7 @@ typedef struct {
        const char *destination;
 } conf_channel_link_t;
 
-int Conf_init(const char *conffile);
+void Conf_init(const char *conffile);
 void Conf_deinit();
 
 const char *getStrConf(param_t param);
index 8a0573ab41eaccdd7e2cb3345bbf0b2a85f3520a..7bd8a0bfbefdcc2a7e6dadb4a95efbc0744a8582 100644 (file)
@@ -190,11 +190,6 @@ int main(int argc, char **argv)
                }
        }
        
-       if (Conf_init(conffile) != 0) {
-               fprintf(stderr, "Configuration error\n");
-               exit(1);
-       }
-               
        if (!nodaemon) {
                Log_init(false);
                daemonize();
@@ -203,7 +198,9 @@ int main(int argc, char **argv)
        }
        else
                Log_init(true);
-       
+
+       Conf_init(conffile);
+                       
        signal(SIGCHLD, SIG_IGN); /* ignore child */
        signal(SIGTSTP, SIG_IGN); /* ignore tty signals */
        signal(SIGTTOU, SIG_IGN);