X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;ds=sidebyside;f=src%2Fconf.c;h=a9d2c08e88d030429e637d5ae82c408260da2439;hb=01e804f06e00c36c5680ebde07cbe17e6b256dc4;hp=540928bac58476fc0fa2aa9f07d568b5adf997a9;hpb=6a6908d7031a79b5767d86a4da056f65a742ac9f;p=umurmur.git diff --git a/src/conf.c b/src/conf.c index 540928b..a9d2c08 100644 --- a/src/conf.c +++ b/src/conf.c @@ -1,5 +1,5 @@ -/* Copyright (C) 2009, Martin Johansson - Copyright (C) 2005-2009, Thorvald Natvig +/* Copyright (C) 2009-2010, Martin Johansson + Copyright (C) 2005-2010, Thorvald Natvig All rights reserved. @@ -47,7 +47,7 @@ static config_t configuration; #define DEFAULT_CONFIG "/etc/umurmur.conf" #define DEFAULT_WELCOME "Welcome to uMurmur!" #define DEFAULT_MAX_CLIENTS 10 -#define DEFAULT_MAX_BANDWIDTH 5000 +#define DEFAULT_MAX_BANDWIDTH 48000 #define DEFAULT_BINDPORT 64738 const char defaultconfig[] = DEFAULT_CONFIG; @@ -195,20 +195,48 @@ int Conf_getNextChannel(conf_channel_t *chdesc, int index) sprintf(configstr, "channels.[%d].name", index); setting = config_lookup(&configuration, configstr); if (setting == NULL) - return -1; + return -1; /* Required */ strncpy(chdesc->name, config_setting_get_string(setting), MAX_TEXT); sprintf(configstr, "channels.[%d].parent", index); setting = config_lookup(&configuration, configstr); if (setting == NULL) - return -1; + return -1; /* Required */ strncpy(chdesc->parent, config_setting_get_string(setting), MAX_TEXT); sprintf(configstr, "channels.[%d].description", index); setting = config_lookup(&configuration, configstr); + if (setting == NULL) /* Optional */ + strncpy(chdesc->description, "", MAX_TEXT); + else + strncpy(chdesc->description, config_setting_get_string(setting), MAX_TEXT); + + sprintf(configstr, "channels.[%d].noenter", index); + setting = config_lookup(&configuration, configstr); + if (setting == NULL) /* Optional */ + chdesc->noenter = false; + else + chdesc->noenter = config_setting_get_bool(setting); + + return 0; +} + +int Conf_getNextChannelLink(conf_channel_link_t *chlink, int index) +{ + config_setting_t *setting = NULL; + char configstr[64]; + + sprintf(configstr, "channel_links.[%d].source", index); + setting = config_lookup(&configuration, configstr); + if (setting == NULL) + return -1; + strncpy(chlink->source, config_setting_get_string(setting), MAX_TEXT); + + sprintf(configstr, "channel_links.[%d].destination", index); + setting = config_lookup(&configuration, configstr); if (setting == NULL) return -1; - strncpy(chdesc->description, config_setting_get_string(setting), MAX_TEXT); + strncpy(chlink->destination, config_setting_get_string(setting), MAX_TEXT); return 0; }