diff --git a/indra/llfilesystem/lldir.cpp b/indra/llfilesystem/lldir.cpp index ca69088095..eb58fb4832 100644 --- a/indra/llfilesystem/lldir.cpp +++ b/indra/llfilesystem/lldir.cpp @@ -941,15 +941,15 @@ std::string LLDir::getTempFilename() const } // static -std::string LLDir::getScrubbedFileName(const std::string uncleanFileName) +std::string LLDir::getScrubbedFileName(std::string_view uncleanFileName) { std::string name(uncleanFileName); const std::string illegalChars(getForbiddenFileChars()); // replace any illegal file chars with and underscore '_' - for( unsigned int i = 0; i < illegalChars.length(); i++ ) + for (const char& ch : illegalChars) { - std::string::size_type j = -1; - while((j = name.find(illegalChars[i])) > std::string::npos) + std::string::size_type j{ 0 }; + while ((j = name.find(ch, j)) != std::string::npos) { name[j] = '_'; } diff --git a/indra/llfilesystem/lldir.h b/indra/llfilesystem/lldir.h index b74fb3797b..5c869260f5 100644 --- a/indra/llfilesystem/lldir.h +++ b/indra/llfilesystem/lldir.h @@ -222,7 +222,7 @@ class LLDir static std::string getDumpLogsDirPath(const std::string &file_name = ""); // For producing safe download file names from potentially unsafe ones - static std::string getScrubbedFileName(const std::string uncleanFileName); + static std::string getScrubbedFileName(std::string_view uncleanFileName); static std::string getForbiddenFileChars(); void setDumpDir( const std::string& path );