mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-06 22:30:07 -05:00
ERR: ReplaceString didn't work properly if replace was longer than with as
length added to start pos on next search was replaceLength instead of withLength
This commit is contained in:
@@ -182,6 +182,7 @@ void cmSystemTools::ReplaceString(std::string& source,
|
||||
const char* with)
|
||||
{
|
||||
std::string::size_type lengthReplace = strlen(replace);
|
||||
std::string::size_type lengthWith = strlen(with);
|
||||
std::string rest;
|
||||
std::string::size_type start = source.find(replace);
|
||||
while(start != std::string::npos)
|
||||
@@ -190,7 +191,7 @@ void cmSystemTools::ReplaceString(std::string& source,
|
||||
source = source.substr(0, start);
|
||||
source += with;
|
||||
source += rest;
|
||||
start = source.find(replace, start + lengthReplace );
|
||||
start = source.find(replace, start + lengthWith );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user