diff --git a/RetroFE/Source/Collection/CollectionInfoBuilder.cpp b/RetroFE/Source/Collection/CollectionInfoBuilder.cpp index 416a57f..c1fefab 100644 --- a/RetroFE/Source/Collection/CollectionInfoBuilder.cpp +++ b/RetroFE/Source/Collection/CollectionInfoBuilder.cpp @@ -203,12 +203,13 @@ bool CollectionInfoBuilder::ImportBasicList(CollectionInfo * /*info*/, std::stri return false; } - std::string line; + std::string line; while(std::getline(includeStream, line)) { - - if(list.find(line) == list.end()) + line = Utils::FilterComments(line); + + if(!line.empty() && list.find(line) == list.end()) { Item *i = new Item(); diff --git a/RetroFE/Source/Database/Configuration.cpp b/RetroFE/Source/Database/Configuration.cpp index ca0fbef..0256061 100644 --- a/RetroFE/Source/Database/Configuration.cpp +++ b/RetroFE/Source/Database/Configuration.cpp @@ -117,12 +117,8 @@ bool Configuration::ParseLine(std::string keyPrefix, std::string line, int lineC std::string delimiter = "="; // strip out any comments - if((position = line.find("#")) != std::string::npos) - { - line = line.substr(0, position); - } - // unix only wants \n. Windows uses \r\n. Strip off the \r for unix. - line.erase( std::remove(line.begin(), line.end(), '\r'), line.end() ); + line = Utils::FilterComments(line); + if(line.empty() || (line.find_first_not_of(" \t\r") == std::string::npos)) { retVal = true; diff --git a/RetroFE/Source/Utility/Utils.cpp b/RetroFE/Source/Utility/Utils.cpp index 6fe7830..99432c1 100644 --- a/RetroFE/Source/Utility/Utils.cpp +++ b/RetroFE/Source/Utility/Utils.cpp @@ -54,6 +54,20 @@ std::string Utils::UppercaseFirst(std::string str) return str; } +std::string Utils::FilterComments(std:;string line) +{ + size_t position; + + // strip out any comments + if((position = line.find("#")) != std::string::npos) + { + line = line.substr(0, position); + } + // unix only wants \n. Windows uses \r\n. Strip off the \r for unix. + line.erase( std::remove(line.begin(), line.end(), '\r'), line.end() ); + + return line; +} std::string Utils::CombinePath(std::list &paths) { diff --git a/RetroFE/Source/Utility/Utils.h b/RetroFE/Source/Utility/Utils.h index e7a678f..addb7b3 100644 --- a/RetroFE/Source/Utility/Utils.h +++ b/RetroFE/Source/Utility/Utils.h @@ -33,6 +33,7 @@ public: static bool FindMatchingFile(std::string prefix, std::vector &extensions, std::string &file); static std::string ToLower(std::string str); static std::string UppercaseFirst(std::string str); + static std::string FilterComments(std::string line); //todo: there has to be a better way to do this static std::string CombinePath(std::list &paths);