Issue 19 - patch by tilman2: Fix PID-file support again
[umurmur.git] / src / conf.c
index 185e508a0b97bff9101f135df38514da1e8ffdd6..35926473f9cbd81faffc24964a335e1801ca7b5d 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()
@@ -138,6 +136,28 @@ const char *getStrConf(param_t param)
                        return "";
                }
                break;
+       case USERNAME:
+               setting = config_lookup(&configuration, "username");
+               if (!setting)
+                       return "";
+               else {
+                       if ((strsetting = config_setting_get_string(setting)) != NULL)
+                               return strsetting;
+                       else
+                       return "";
+               }
+               break;
+       case GROUPNAME:
+               setting = config_lookup(&configuration, "groupname");
+               if (!setting)
+                       return "";
+               else {
+                       if ((strsetting = config_setting_get_string(setting)) != NULL)
+                               return strsetting;
+                       else
+                       return "";
+               }
+               break;
        default:
                doAssert(false);
                break;