X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fconf.c;h=4d82e2f1b7e6aa16e0bfe03836fc6ac9af6876c6;hb=d604770cd57a7ad1ce7a49e2784ab5838847c2e0;hp=3068cd7f1785e2e46759130fe524a35bcbab8b03;hpb=a2278f090858fcb69da788831f7e15775caab756;p=umurmur.git diff --git a/src/conf.c b/src/conf.c index 3068cd7..4d82e2f 100644 --- a/src/conf.c +++ b/src/conf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2010, Martin Johansson +/* Copyright (C) 2009-2010, Martin Johansson Copyright (C) 2005-2010, Thorvald Natvig All rights reserved. @@ -135,7 +135,7 @@ const char *getStrConf(param_t param) return DEFAULT_WELCOME; } break; - case DEAFULT_CHANNEL: + case DEFAULT_CHANNEL: setting = config_lookup(&configuration, "default_channel"); if (!setting) return ""; @@ -195,20 +195,28 @@ 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; - strncpy(chdesc->name, config_setting_get_string(setting), MAX_TEXT); + return -1; /* Required */ + chdesc->name = config_setting_get_string(setting); sprintf(configstr, "channels.[%d].parent", index); setting = config_lookup(&configuration, configstr); if (setting == NULL) - return -1; - strncpy(chdesc->parent, config_setting_get_string(setting), MAX_TEXT); + return -1; /* Required */ + chdesc->parent = config_setting_get_string(setting); sprintf(configstr, "channels.[%d].description", index); setting = config_lookup(&configuration, configstr); - if (setting == NULL) - return -1; - strncpy(chdesc->description, config_setting_get_string(setting), MAX_TEXT); + if (setting == NULL) /* Optional */ + chdesc->description = NULL; + else + chdesc->description = config_setting_get_string(setting); + + 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; } @@ -222,13 +230,13 @@ int Conf_getNextChannelLink(conf_channel_link_t *chlink, int index) setting = config_lookup(&configuration, configstr); if (setting == NULL) return -1; - strncpy(chlink->source, config_setting_get_string(setting), MAX_TEXT); + chlink->source = config_setting_get_string(setting); sprintf(configstr, "channel_links.[%d].destination", index); setting = config_lookup(&configuration, configstr); if (setting == NULL) return -1; - strncpy(chlink->destination, config_setting_get_string(setting), MAX_TEXT); + chlink->destination = config_setting_get_string(setting); return 0; }