diff --git a/YSFGateway/YSFReflectors.cpp b/YSFGateway/YSFReflectors.cpp index 1a72b39..dd618a8 100644 --- a/YSFGateway/YSFReflectors.cpp +++ b/YSFGateway/YSFReflectors.cpp @@ -350,7 +350,7 @@ std::vector& CYSFReflectors::search(const std::string& name) m_search.clear(); std::string trimmed = name; - trimmed.erase(std::find_if(trimmed.rbegin(), trimmed.rend(), std::not1(std::ptr_fun(std::isspace))).base(), trimmed.end()); + trimmed.erase(std::find_if(trimmed.rbegin(), trimmed.rend(), [](unsigned char ch) { return !std::isspace(ch); }).base(), trimmed.end()); std::transform(trimmed.begin(), trimmed.end(), trimmed.begin(), ::toupper); // Removed now un-used variable @@ -358,13 +358,13 @@ std::vector& CYSFReflectors::search(const std::string& name) for (std::vector::iterator it = m_currReflectors.begin(); it != m_currReflectors.end(); ++it) { std::string reflector = (*it)->m_name; - reflector.erase(std::find_if(reflector.rbegin(), reflector.rend(), std::not1(std::ptr_fun(std::isspace))).base(), reflector.end()); + reflector.erase(std::find_if(reflector.rbegin(), reflector.rend(),[](unsigned char ch) { return !std::isspace(ch); }).base(),reflector.end()); std::transform(reflector.begin(), reflector.end(), reflector.begin(), ::toupper); // Original match function - only matches start of string. // if (trimmed == reflector.substr(0U, len)) // m_search.push_back(*it); - + // New match function searches the whole string for (unsigned int refSrcPos = 0U; refSrcPos < reflector.length(); refSrcPos++) { if (reflector.substr(refSrcPos, trimmed.length()) == trimmed) {