From 3da6af6e380c244a8fa2f44ba3e7d75c66e15521 Mon Sep 17 00:00:00 2001 From: Lukasz Gromanowski Date: Thu, 23 Feb 2012 23:01:42 +0100 Subject: [PATCH] Bug fixes for configuration handling. Added erasing double quotes from paths, corrected retriveing installation path from wine registry. Updated doxygen comments. Signed-off-by: Lukasz Gromanowski --- components/files/configurationmanager.cpp | 5 ++++- components/files/linuxpath.cpp | 9 +++++++-- components/files/macospath.hpp | 6 +++--- components/files/windowspath.hpp | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/components/files/configurationmanager.cpp b/components/files/configurationmanager.cpp index c5561d652..8173c6a04 100644 --- a/components/files/configurationmanager.cpp +++ b/components/files/configurationmanager.cpp @@ -6,6 +6,7 @@ #include #include +#include /** * \namespace Files @@ -69,9 +70,11 @@ void ConfigurationManager::readConfiguration(boost::program_options::variables_m void ConfigurationManager::processPaths(Files::PathContainer& dataDirs) { + std::string path; for (Files::PathContainer::iterator it = dataDirs.begin(); it != dataDirs.end(); ++it) { - const std::string& path = it->string(); + path = it->string(); + boost::erase_all(path, "\""); // Check if path contains a token if (!path.empty() && *path.begin() == '?') diff --git a/components/files/linuxpath.cpp b/components/files/linuxpath.cpp index 0b315ccfb..92e4dce33 100644 --- a/components/files/linuxpath.cpp +++ b/components/files/linuxpath.cpp @@ -105,11 +105,16 @@ boost::filesystem::path LinuxPath::getInstallPath() const std::string line; std::string mwpath; - while (std::getline(file, line) && !line.empty()) + while (std::getline(file, line)) { if (line[0] == '[') // we found an entry { - isRegEntry = (line.find("Softworks\\Morrowind]") != std::string::npos); + if (isRegEntry) + { + break; + } + + isRegEntry = (line.find("Softworks\\\\Morrowind]") != std::string::npos); } else if (isRegEntry) { diff --git a/components/files/macospath.hpp b/components/files/macospath.hpp index 7656538c1..0e9b3402e 100644 --- a/components/files/macospath.hpp +++ b/components/files/macospath.hpp @@ -39,21 +39,21 @@ namespace Files struct MacOsPath { /** - * \brief Return path to the local configuration directory. + * \brief Return path to the local directory. * * \return boost::filesystem::path */ boost::filesystem::path getUserPath() const; /** - * \brief Return path to the global (system) configuration directory. + * \brief Return path to the global (system) directory. * * \return boost::filesystem::path */ boost::filesystem::path getGlobalPath() const; /** - * \brief Return path to the runtime configuration directory which is the + * \brief Return path to the runtime directory which is the * place where an application was started. * * \return boost::filesystem::path diff --git a/components/files/windowspath.hpp b/components/files/windowspath.hpp index 919d087f1..d4c716c50 100644 --- a/components/files/windowspath.hpp +++ b/components/files/windowspath.hpp @@ -62,7 +62,7 @@ struct WindowsPath boost::filesystem::path getLocalPath() const; /** - * \brief Return same path like getGlobalConfigPath + * \brief Return same path like getGlobalPath * * \return boost::filesystem::path */