summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-12-24 23:55:29 +0000
committerCarl Hetherington <cth@carlh.net>2018-12-24 23:55:29 +0000
commit341f1d20aec99d6f413b66ce60824337fd1b36e3 (patch)
tree2eb57f4b166bc24b2b84a71030c105ffca673e84
parentc60f1742ec62ae8ff4c631d4f4f83be75214ecec (diff)
Fix failure to re-write bad configuration files caused by trying to check for a link in the bad file.
-rw-r--r--src/lib/config.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index e2f2bbeb9..dbd0aea71 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -970,10 +970,16 @@ Config::config_file ()
}
/* See if there's a link */
- f.read_file (main);
- optional<string> link = f.optional_string_child("Link");
- if (link) {
- return *link;
+ try {
+ f.read_file (main);
+ optional<string> link = f.optional_string_child("Link");
+ if (link) {
+ return *link;
+ }
+ } catch (xmlpp::exception& e) {
+ /* There as a problem reading the main configuration file,
+ so there can't be a link.
+ */
}
return main;