+
+ if (!conf_entries.head.next)
+ clist_init(&conf_entries);
+ clist old_entries;
+ clist_move(&old_entries, &conf_entries);
+ postpone_commit = 1;
+
+ int err = 0;
+ if (file)
+ err = load_file(file);
+ else
+ CLIST_FOR_EACH(struct conf_entry *, ce, old_entries) {
+ if (ce->type == CE_FILE)
+ err |= load_file(ce->arg);
+ else
+ err |= load_string(ce->arg);
+ if (err)
+ break;
+ cf_remember_entry(ce->type, ce->arg);
+ }
+
+ postpone_commit = 0;