Mercurial > irccd
changeset 747:0731acfe646d
Irccd: fix default plugin paths substitution
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 03 Aug 2018 12:41:00 +0200 |
parents | fe3d80412701 |
children | 59029f36db60 |
files | libirccd/irccd/daemon/service/plugin_service.cpp |
diffstat | 1 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/libirccd/irccd/daemon/service/plugin_service.cpp Fri Aug 03 12:15:00 2018 +0200 +++ b/libirccd/irccd/daemon/service/plugin_service.cpp Fri Aug 03 12:41:00 2018 +0200 @@ -125,19 +125,23 @@ // Fill defaults paths. if (!defaults.count("cache")) - defaults.emplace("cache", (sys::cachedir() / "plugin" / std::string(id)).string()); + defaults.emplace("cache", sys::cachedir().string()); if (!defaults.count("data")) - paths.emplace("data", (sys::datadir() / "plugin" / std::string(id)).string()); + defaults.emplace("data", sys::datadir().string()); if (!defaults.count("config")) - paths.emplace("config", (sys::sysconfdir() / "plugin" / std::string(id)).string()); + defaults.emplace("config", sys::sysconfdir().string()); + + const auto join = [id] (auto path) { + return (boost::filesystem::path(path) / "plugin" / std::string(id)).string(); + }; // Now fill missing fields. if (!paths.count("cache")) - paths.emplace("cache", defaults["cache"]); + paths.emplace("cache", join(defaults["cache"])); if (!paths.count("data")) - paths.emplace("data", defaults["data"]); + paths.emplace("data", join(defaults["data"])); if (!paths.count("config")) - paths.emplace("config", defaults["config"]); + paths.emplace("config", join(defaults["config"])); return paths; }