diff options
Diffstat (limited to 'server/modules/metadata/flat_files/main.cpp')
-rw-r--r-- | server/modules/metadata/flat_files/main.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/server/modules/metadata/flat_files/main.cpp b/server/modules/metadata/flat_files/main.cpp index f58f782..ec9d5a2 100644 --- a/server/modules/metadata/flat_files/main.cpp +++ b/server/modules/metadata/flat_files/main.cpp @@ -118,7 +118,7 @@ bool storage_impl::set(const std::string &module_name, const std::string &settin } else if(!boost::filesystem::is_directory(out_file_path)) { - //error + //TODO: handle error return false; } out_file_path += "/"; @@ -169,9 +169,12 @@ std::list<std::string> storage_impl::setting_list(const std::string &module_name std::string settings_dir = parsed_data_path; settings_dir += "/"; settings_dir += module_name; - for(auto i = boost::filesystem::directory_iterator(settings_dir), end = boost::filesystem::directory_iterator(); i != end; ++i) + if(boost::filesystem::exists(settings_dir) && boost::filesystem::is_directory(settings_dir)) { - l.push_back(i->path().string().substr(settings_dir.length() + 1)); + for(auto i = boost::filesystem::directory_iterator(settings_dir), end = boost::filesystem::directory_iterator(); i != end; ++i) + { + l.push_back(i->path().string().substr(settings_dir.length() + 1)); + } } return l; } |