From 131f5592347929c3d28a4a9406e242e2cfdd5db9 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Wed, 19 Aug 2009 17:55:03 +0200 Subject: Write data to an XML file. File path for the XML file is read per channel from the 'xmlpath' option. --- config.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'config.c') diff --git a/config.c b/config.c index d50c90b..79eae42 100644 --- a/config.c +++ b/config.c @@ -52,15 +52,21 @@ int cfg_init() { int channel_count = config_setting_length(channels_setting); for(int i = 0; i < channel_count; i++) { config_setting_t *channel_setting = config_setting_get_elem(channels_setting, i); - const char *name; + const char *name, *xmlpath; if(!config_setting_lookup_string(channel_setting, "name", &name)) { char *sname; sname = malloc(sizeof(char) * 16); sprintf(sname, "channel #%d", i+1); name = sname; } + if(!config_setting_lookup_string(channel_setting, "xmlpath", &xmlpath)) { + /* Index-based filename if xmlpath isn't set. */ + char temp[0xf]; + sprintf(temp, "%d.xml", i); + xmlpath = strdup(temp); + } struct channel_t *channel; - if(!(channel = channel_add(name))) { + if(!(channel = channel_add(name, xmlpath))) { return 0; } config_setting_t *files = config_setting_get_member(channel_setting, "files"); -- cgit v1.2.3