summaryrefslogtreecommitdiff
path: root/main/features_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/features_config.c')
-rw-r--r--main/features_config.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/main/features_config.c b/main/features_config.c
index ac4a1fec0..fee113862 100644
--- a/main/features_config.c
+++ b/main/features_config.c
@@ -1709,10 +1709,16 @@ static int load_config(void)
"", featuregroup_handler, 0);
if (aco_process_config(&cfg_info, 0) == ACO_PROCESS_ERROR) {
- ast_log(LOG_ERROR, "Failed to process features.conf configuration!\n");
- aco_info_destroy(&cfg_info);
- ao2_global_obj_release(globals);
- return -1;
+ RAII_VAR(struct features_config *, features_cfg, __features_config_alloc(0), ao2_cleanup);
+
+ if (aco_set_defaults(&global_option, "general", features_cfg->global) ||
+ aco_set_defaults(&featuremap_option, "featuremap", features_cfg->featuremap)) {
+ ast_log(LOG_ERROR, "Failed to load features.conf and failed to initialize defaults.\n");
+ return -1;
+ }
+
+ ast_log(LOG_NOTICE, "Could not load features config; using defaults\n");
+ ao2_global_obj_replace(globals, features_cfg);
}
return 0;