+ logthing(LOGTHING_NOTICE,
+ "Couldn't open config file; using defaults.");
+ }
+}
+
+void cleanupdbconfig(void *object)
+{
+ struct onak_db_config *dbconfig = (struct onak_db_config *) object;
+
+ if (dbconfig->name != NULL) {
+ free(dbconfig->name);
+ dbconfig->name = NULL;
+ }
+ if (dbconfig->type != NULL) {
+ free(dbconfig->type);
+ dbconfig->type = NULL;
+ }
+ if (dbconfig->location != NULL) {
+ free(dbconfig->location);
+ dbconfig->location = NULL;
+ }
+ if (dbconfig->hostname != NULL) {
+ free(dbconfig->hostname);
+ dbconfig->hostname = NULL;
+ }
+ if (dbconfig->username != NULL) {
+ free(dbconfig->username);
+ dbconfig->username = NULL;
+ }
+ if (dbconfig->password != NULL) {
+ free(dbconfig->password);
+ dbconfig->password = NULL;
+ }
+}
+
+void cleanupconfig(void) {
+ /* Free any defined DB backend configuration first */
+ llfree(config.backends, cleanupdbconfig);
+ config.backends = NULL;
+
+ if (config.thissite != NULL) {
+ free(config.thissite);
+ config.thissite = NULL;
+ }
+ if (config.adminemail != NULL) {
+ free(config.adminemail);
+ config.adminemail = NULL;
+ }
+ if (config.mta != NULL) {
+ free(config.mta);
+ config.mta = NULL;
+ }
+ if (config.syncsites != NULL) {
+ llfree(config.syncsites, free);
+ config.syncsites = NULL;
+ }
+ if (config.logfile != NULL) {
+ free(config.logfile);
+ config.logfile = NULL;
+ }
+ if (config.db_backend != NULL) {
+ free(config.db_backend);
+ config.db_backend = NULL;
+ }
+ if (config.backends_dir != NULL) {
+ free(config.backends_dir);
+ config.backends_dir = NULL;