From af1cfbb2515c63f1d8e6304aac0c76fa876c8926 Mon Sep 17 00:00:00 2001 From: MW0MWZ <66065904+MW0MWZ@users.noreply.github.com> Date: Tue, 13 May 2025 11:42:16 +0100 Subject: [PATCH] Update YSFReflectors.cpp Suggested code amendments to fix #326 and #310 Code suggestions by an AI that can write better C++ than I can, please do vet this for sanity / accuracy before merge. --- YSFGateway/YSFReflectors.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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) {