X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fconf.c;h=d716312e444b90615e0be9a1b59efc92f9c0f6fe;hb=237334f63049d15450ea95197bc68f89a421e44a;hp=47504527158775e56f495cb239f39236a9e471b8;hpb=808f6f490d6e93002b5ac8e0ba201aa82b128fc4;p=umurmur.git diff --git a/src/conf.c b/src/conf.c index 4750452..d716312 100644 --- a/src/conf.c +++ b/src/conf.c @@ -84,7 +84,7 @@ const char *getStrConf(param_t param) { config_setting_t *setting = NULL; const char *strsetting = NULL; - + switch (param) { case CERTIFICATE: setting = config_lookup(&configuration, "certificate"); @@ -144,12 +144,23 @@ const char *getStrConf(param_t param) case BINDADDR: setting = config_lookup(&configuration, "bindaddr"); if (!setting) - return ""; + return NULL; else { if ((strsetting = config_setting_get_string(setting)) != NULL) return strsetting; else - return ""; + return NULL; + } + break; + case BINDADDR6: + setting = config_lookup(&configuration, "bindaddr6"); + if (!setting) + return NULL; + else { + if ((strsetting = config_setting_get_string(setting)) != NULL) + return strsetting; + else + return NULL; } break; case WELCOMETEXT: @@ -228,7 +239,7 @@ const char *getStrConf(param_t param) int getIntConf(param_t param) { config_setting_t *setting = NULL; - + switch (param) { case BINDPORT: setting = config_lookup(&configuration, "bindport"); @@ -238,6 +249,14 @@ int getIntConf(param_t param) return config_setting_get_int(setting); } break; + case BINDPORT6: + setting = config_lookup(&configuration, "bindport6"); + if (!setting) + return DEFAULT_BINDPORT; + else { + return config_setting_get_int(setting); + } + break; case BAN_LENGTH: setting = config_lookup(&configuration, "ban_length"); if (!setting) @@ -278,7 +297,7 @@ int getIntConf(param_t param) bool_t getBoolConf(param_t param) { config_setting_t *setting = NULL; - + switch (param) { case ALLOW_TEXTMESSAGE: setting = config_lookup(&configuration, "allow_textmessage"); @@ -311,47 +330,47 @@ int Conf_getNextChannel(conf_channel_t *chdesc, int index) config_setting_t *setting = NULL; int maxconfig = 64, ret = 0; char configstr[maxconfig]; - + ret = snprintf(configstr, maxconfig, "channels.[%d].name", index); setting = config_lookup(&configuration, configstr); if (ret >= maxconfig || ret < 0 || setting == NULL) return -1; /* Required */ chdesc->name = config_setting_get_string(setting); - + ret = snprintf(configstr, maxconfig, "channels.[%d].parent", index); setting = config_lookup(&configuration, configstr); if (ret >= maxconfig || ret < 0 || setting == NULL) return -1; /* Required */ chdesc->parent = config_setting_get_string(setting); - + ret = snprintf(configstr, maxconfig, "channels.[%d].description", index); setting = config_lookup(&configuration, configstr); if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */ chdesc->description = NULL; else chdesc->description = config_setting_get_string(setting); - + ret = snprintf(configstr, maxconfig, "channels.[%d].password", index); setting = config_lookup(&configuration, configstr); if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */ chdesc->password = NULL; else chdesc->password = config_setting_get_string(setting); - + ret = snprintf(configstr, maxconfig, "channels.[%d].noenter", index); setting = config_lookup(&configuration, configstr); if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */ chdesc->noenter = false; else chdesc->noenter = config_setting_get_bool(setting); - + ret = snprintf(configstr, maxconfig, "channels.[%d].silent", index); setting = config_lookup(&configuration, configstr); if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */ chdesc->silent = false; else chdesc->silent = config_setting_get_bool(setting); - + ret = snprintf(configstr, maxconfig, "channels.[%d].position", index); setting = config_lookup(&configuration, configstr); if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */ @@ -367,7 +386,7 @@ int Conf_getNextChannelLink(conf_channel_link_t *chlink, int index) config_setting_t *setting = NULL; int maxconfig = 64, ret = 0; char configstr[maxconfig]; - + ret = snprintf(configstr, maxconfig, "channel_links.[%d].source", index); setting = config_lookup(&configuration, configstr); if (ret >= maxconfig || ret < 0 || setting == NULL)