summaryrefslogtreecommitdiff
path: root/src/lib/config.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-09-27 15:26:05 +0100
committerCarl Hetherington <cth@carlh.net>2018-09-27 15:26:05 +0100
commit1f1661f36ffd7a5662847f0642c7a7ebdcadc0f0 (patch)
treee08493b2dd48d4f687ab6f16e129782147590640 /src/lib/config.cc
parent464801a7b386f93be65cdfc60c3807cb5365467e (diff)
Disable preferences menu if the config can't be written.
Diffstat (limited to 'src/lib/config.cc')
-rw-r--r--src/lib/config.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index d7fd74449..e1d5b958d 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -1201,3 +1201,15 @@ Config::copy_and_link (boost::filesystem::path new_file) const
boost::filesystem::copy_file (config_file(), new_file, boost::filesystem::copy_option::overwrite_if_exists);
link (new_file);
}
+
+bool
+Config::have_write_permission () const
+{
+ FILE* f = fopen_boost (config_file(), "r+");
+ if (!f) {
+ return false;
+ }
+
+ fclose (f);
+ return true;
+}