From 6ddd022056234043a48200ff0b88687f8167a0d9 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 17 Sep 2014 16:10:37 +0200 Subject: [PATCH] DVR: Fix dvr_config_find_by_name_default (no config files) --- src/dvr/dvr_config.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/dvr/dvr_config.c b/src/dvr/dvr_config.c index ad56d8b5..24d89d66 100644 --- a/src/dvr/dvr_config.c +++ b/src/dvr/dvr_config.c @@ -66,7 +66,14 @@ dvr_config_find_by_name_default(const char *name) { dvr_config_t *cfg; - if (dvrdefaultconfig && (name == NULL || *name == '\0')) + if (LIST_FIRST(&dvrconfigs) == NULL) { + cfg = dvr_config_create("", NULL, NULL); + assert(cfg); + dvr_config_save(cfg); + dvrdefaultconfig = cfg; + } + + if (name == NULL || *name == '\0') return dvrdefaultconfig; cfg = dvr_config_find_by_name(name); @@ -74,16 +81,10 @@ dvr_config_find_by_name_default(const char *name) if (cfg == NULL) { if (name && *name) tvhlog(LOG_WARNING, "dvr", "Configuration '%s' not found, using default", name); - cfg = dvr_config_find_by_name_default(NULL); + cfg = dvrdefaultconfig; } else if (!cfg->dvr_enabled) { tvhlog(LOG_WARNING, "dvr", "Configuration '%s' not enabled, using default", name); - cfg = dvr_config_find_by_name_default(NULL); - } - - if (cfg == NULL) { - cfg = dvr_config_create("", NULL, NULL); - dvr_config_save(cfg); - dvrdefaultconfig = cfg; + cfg = dvrdefaultconfig; } return cfg;