diff --git a/src/Keys.cc b/src/Keys.cc index 84e5eb80..0b8efe59 100644 --- a/src/Keys.cc +++ b/src/Keys.cc @@ -28,6 +28,7 @@ #include "FbTk/EventManager.hh" #include "FbTk/StringUtil.hh" +#include "FbTk/FileUtil.hh" #include "FbTk/App.hh" #include "FbTk/Command.hh" #include "FbTk/RefCount.hh" @@ -276,6 +277,10 @@ void Keys::reload() { FbTk::App::instance()->sync(false); + if (! FbTk::FileUtil::isRegularFile(m_filename.c_str())) { + return; + } + // open the file ifstream infile(m_filename.c_str()); if (!infile) { diff --git a/util/fluxbox-update_configs.cc b/util/fluxbox-update_configs.cc index fcb9bc22..85bbbfef 100644 --- a/util/fluxbox-update_configs.cc +++ b/util/fluxbox-update_configs.cc @@ -22,6 +22,7 @@ #include "../src/FbTk/I18n.hh" #include "../src/FbTk/Resource.hh" #include "../src/FbTk/StringUtil.hh" +#include "../src/FbTk/FileUtil.hh" #include "defaults.hh" @@ -473,11 +474,9 @@ string read_file(const string& filename) { if (it != file_cache.end()) return it->second; - struct stat s; - stat(filename.c_str(), &s); - - if (! (s.st_mode & S_IFREG)) + if (!FbTk::FileUtil::isRegularFile(filename.c_str())) { return ""; + } // nope, we'll have to read the file ifstream infile(filename.c_str());