diff options
Diffstat (limited to 'SwifTools/Application/UnixApplicationPathProvider.cpp')
-rw-r--r-- | SwifTools/Application/UnixApplicationPathProvider.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/SwifTools/Application/UnixApplicationPathProvider.cpp b/SwifTools/Application/UnixApplicationPathProvider.cpp index 784256f..6af9b24 100644 --- a/SwifTools/Application/UnixApplicationPathProvider.cpp +++ b/SwifTools/Application/UnixApplicationPathProvider.cpp @@ -1,17 +1,18 @@ /* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include <SwifTools/Application/UnixApplicationPathProvider.h> +#include <stdlib.h> #include <unistd.h> #include <boost/algorithm/string.hpp> #include <iostream> #include <Swiften/Base/String.h> #include <Swiften/Base/foreach.h> namespace Swift { @@ -38,20 +39,20 @@ boost::filesystem::path UnixApplicationPathProvider::getHomeDir() const { } boost::filesystem::path UnixApplicationPathProvider::getDataDir() const { char* xdgDataHome = getenv("XDG_DATA_HOME"); std::string dataDir; if (xdgDataHome) { dataDir = std::string(xdgDataHome); } - boost::filesystem::path dataPath = (dataDir.empty() ? - getHomeDir() / ".local" / "share" + boost::filesystem::path dataPath = (dataDir.empty() ? + getHomeDir() / ".local" / "share" : boost::filesystem::path(dataDir)) / boost::to_lower_copy(getApplicationName()); try { boost::filesystem::create_directories(dataPath); } catch (const boost::filesystem::filesystem_error& e) { std::cerr << "ERROR: " << e.what() << std::endl; } return dataPath; |