From bf31f642b08a8d8ca796a1b713285f2580805c2f Mon Sep 17 00:00:00 2001 From: "Mr. Myxa" Date: Sun, 22 Mar 2026 00:40:52 +0100 Subject: internal: rewrite deviceNameToInternalString using a single range pipeline (#13806) --- src/helpers/MiscFunctions.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/helpers/MiscFunctions.cpp') diff --git a/src/helpers/MiscFunctions.cpp b/src/helpers/MiscFunctions.cpp index f79cad31..2a200f1e 100644 --- a/src/helpers/MiscFunctions.cpp +++ b/src/helpers/MiscFunctions.cpp @@ -927,12 +927,18 @@ std::expected binaryNameForPid(pid_t pid) { return fullPath; } -std::string deviceNameToInternalString(std::string in) { - std::ranges::replace(in, ' ', '-'); - std::ranges::replace(in, '\n', '-'); - std::ranges::replace(in, ',', '-'); - std::ranges::transform(in, in.begin(), ::tolower); - return in; +std::string deviceNameToInternalString(const std::string& in) { + auto result = in | std::views::transform([](unsigned char ch) -> char { + switch (ch) { + case ' ': + case '\n': + case ',': return '-'; + + default: return static_cast(std::tolower(ch)); + } + }); + + return result | std::ranges::to(); } static const std::vector PKGCONF_PATHS = {"/usr/lib/pkgconfig", "/usr/local/lib/pkgconfig"}; -- cgit v1.2.3