diff --git a/src/anbox/config.cpp b/src/anbox/config.cpp index 4152b18..730ac95 100644 --- a/src/anbox/config.cpp +++ b/src/anbox/config.cpp @@ -24,28 +24,18 @@ namespace fs = boost::filesystem; -namespace { -std::string prefix_dir_from_env(const std::string &path, const std::string &env_var) { - static auto snap_data_path = anbox::utils::get_env_value(env_var, ""); - auto result = path; - if (!snap_data_path.empty()) - result = anbox::utils::string_format("%s%s", snap_data_path, path); - return result; -} -} - namespace anbox { namespace config { std::string in_snap_dir(const std::string &path) { - return prefix_dir_from_env(path, "SNAP"); + return utils::prefix_dir_from_env(path, "SNAP"); } std::string in_snap_data_dir(const std::string &path) { - return prefix_dir_from_env(path, "SNAP_COMMON"); + return utils::prefix_dir_from_env(path, "SNAP_COMMON"); } std::string in_snap_user_data_dir(const std::string &path) { - return prefix_dir_from_env(path, "SNAP_USER_COMMON"); + return utils::prefix_dir_from_env(path, "SNAP_USER_COMMON"); } std::string home_dir() { diff --git a/src/anbox/utils.cpp b/src/anbox/utils.cpp index ba602ec..5777bba 100644 --- a/src/anbox/utils.cpp +++ b/src/anbox/utils.cpp @@ -151,5 +151,14 @@ void ensure_paths(const std::vector &paths) { fs::create_directories(fs::path(path)); } } + +std::string prefix_dir_from_env(const std::string &path, const std::string &env_var) { + static auto snap_data_path = anbox::utils::get_env_value(env_var, ""); + auto result = path; + if (!snap_data_path.empty()) + result = anbox::utils::string_format("%s%s", snap_data_path, path); + return result; +} + } // namespace utils } // namespace anbox diff --git a/src/anbox/utils.h b/src/anbox/utils.h index 343872f..2c1c394 100644 --- a/src/anbox/utils.h +++ b/src/anbox/utils.h @@ -43,6 +43,8 @@ bool is_env_set(const std::string &name); void ensure_paths(const std::vector &paths); +std::string prefix_dir_from_env(const std::string &path, const std::string &env_var); + template static std::string string_format(const std::string& fmt_str, Types&&... args); } // namespace utils