-list<string> list_filtered(const Path &path, const string &filter)
-{
- Regex r_filter(filter);
-
- list<string> result;
- DIR *dir = opendir(path.str().c_str());
- if(!dir)
- throw system_error("opendir");
-
- while(dirent *de = readdir(dir))
- {
- const char *fn = de->d_name;
- if(fn[0]=='.' && (fn[1]==0 || (fn[1]=='.' && fn[2]==0)))
- continue;
- if(r_filter.match(fn))
- result.push_back(fn);
- }
- closedir(dir);
-
- return result;
-}
-
-Path get_user_data_dir()
-{
- const string &name = Application::get_name();
- if(name.empty())
- throw logic_error("application name not known");
- return get_user_data_dir(name);
-}
-
-Path get_sys_conf_dir(const string &argv0)