Use std::replace for replacing chars in strings.

Find uses of `cmSystemTools::ReplaceString` where both `replace` and
`with` are string literals with a size of one.

Automate with:

git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\2', '\3');|g"
git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\\\\\\\\\");|std::replace(\1.begin(), \1.end(), '\2', '\\\\\\\\');|g"
git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\\\\\\\\\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\\\\\\\\', '\2');|g"
This commit is contained in:
Daniel Pfeifer 2016-05-24 22:58:11 +02:00
parent 2a1a2033af
commit 5cec953e6a
17 changed files with 36 additions and 36 deletions

View File

@ -74,7 +74,7 @@ int cmCPackNSISGenerator::PackageFiles()
// Strip off the component part of the path. // Strip off the component part of the path.
fileN = fileN.substr(fileN.find('/') + 1, std::string::npos); fileN = fileN.substr(fileN.find('/') + 1, std::string::npos);
} }
cmSystemTools::ReplaceString(fileN, "/", "\\"); std::replace(fileN.begin(), fileN.end(), '/', '\\');
str << " Delete \"$INSTDIR\\" << fileN << "\"" << std::endl; str << " Delete \"$INSTDIR\\" << fileN << "\"" << std::endl;
} }
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Uninstall Files: " << str.str() cmCPackLogger(cmCPackLog::LOG_DEBUG, "Uninstall Files: " << str.str()
@ -104,7 +104,7 @@ int cmCPackNSISGenerator::PackageFiles()
fileN = fileN.substr(slash + 1, std::string::npos); fileN = fileN.substr(slash + 1, std::string::npos);
} }
} }
cmSystemTools::ReplaceString(fileN, "/", "\\"); std::replace(fileN.begin(), fileN.end(), '/', '\\');
dstr << " RMDir \"$INSTDIR\\" << fileN << "\"" << std::endl; dstr << " RMDir \"$INSTDIR\\" << fileN << "\"" << std::endl;
if (!componentName.empty()) { if (!componentName.empty()) {
this->Components[componentName].Directories.push_back(fileN); this->Components[componentName].Directories.push_back(fileN);
@ -548,7 +548,7 @@ void cmCPackNSISGenerator::CreateMenuLinks(std::ostringstream& str,
// Convert / to \ in filenames, but not in urls: // Convert / to \ in filenames, but not in urls:
// //
if (!url) { if (!url) {
cmSystemTools::ReplaceString(sourceName, "/", "\\"); std::replace(sourceName.begin(), sourceName.end(), '/', '\\');
} }
++it; ++it;
@ -790,13 +790,13 @@ std::string cmCPackNSISGenerator::CreateComponentDescription(
for (pathIt = component->Files.begin(); pathIt != component->Files.end(); for (pathIt = component->Files.begin(); pathIt != component->Files.end();
++pathIt) { ++pathIt) {
path = *pathIt; path = *pathIt;
cmSystemTools::ReplaceString(path, "/", "\\"); std::replace(path.begin(), path.end(), '/', '\\');
macrosOut << " Delete \"$INSTDIR\\" << path << "\"\n"; macrosOut << " Delete \"$INSTDIR\\" << path << "\"\n";
} }
for (pathIt = component->Directories.begin(); for (pathIt = component->Directories.begin();
pathIt != component->Directories.end(); ++pathIt) { pathIt != component->Directories.end(); ++pathIt) {
path = *pathIt; path = *pathIt;
cmSystemTools::ReplaceString(path, "/", "\\"); std::replace(path.begin(), path.end(), '/', '\\');
macrosOut << " RMDir \"$INSTDIR\\" << path << "\"\n"; macrosOut << " RMDir \"$INSTDIR\\" << path << "\"\n";
} }
macrosOut << " noremove_" << component->Name << ":\n"; macrosOut << " noremove_" << component->Name << ":\n";

View File

@ -34,13 +34,13 @@ int cmCPackRPMGenerator::InitializeInternal()
*/ */
if (this->GetOption("CPACK_PACKAGE_NAME")) { if (this->GetOption("CPACK_PACKAGE_NAME")) {
std::string packageName = this->GetOption("CPACK_PACKAGE_NAME"); std::string packageName = this->GetOption("CPACK_PACKAGE_NAME");
cmSystemTools::ReplaceString(packageName, " ", "-"); std::replace(packageName.begin(), packageName.end(), ' ', '-');
this->SetOption("CPACK_PACKAGE_NAME", packageName.c_str()); this->SetOption("CPACK_PACKAGE_NAME", packageName.c_str());
} }
/* same for CPACK_PACKAGE_FILE_NAME */ /* same for CPACK_PACKAGE_FILE_NAME */
if (this->GetOption("CPACK_PACKAGE_FILE_NAME")) { if (this->GetOption("CPACK_PACKAGE_FILE_NAME")) {
std::string packageName = this->GetOption("CPACK_PACKAGE_FILE_NAME"); std::string packageName = this->GetOption("CPACK_PACKAGE_FILE_NAME");
cmSystemTools::ReplaceString(packageName, " ", "-"); std::replace(packageName.begin(), packageName.end(), ' ', '-');
this->SetOption("CPACK_PACKAGE_FILE_NAME", packageName.c_str()); this->SetOption("CPACK_PACKAGE_FILE_NAME", packageName.c_str());
} }
return this->Superclass::InitializeInternal(); return this->Superclass::InitializeInternal();

View File

@ -32,9 +32,9 @@ bool cmBuildNameCommand::InitialPass(std::vector<std::string> const& args,
cmsys::RegularExpression reg("[()/]"); cmsys::RegularExpression reg("[()/]");
if (reg.find(cacheValue)) { if (reg.find(cacheValue)) {
std::string cv = cacheValue; std::string cv = cacheValue;
cmSystemTools::ReplaceString(cv, "/", "_"); std::replace(cv.begin(), cv.end(), '/', '_');
cmSystemTools::ReplaceString(cv, "(", "_"); std::replace(cv.begin(), cv.end(), '(', '_');
cmSystemTools::ReplaceString(cv, ")", "_"); std::replace(cv.begin(), cv.end(), ')', '_');
this->Makefile->AddCacheDefinition(args[0], cv.c_str(), "Name of build.", this->Makefile->AddCacheDefinition(args[0], cv.c_str(), "Name of build.",
cmState::STRING); cmState::STRING);
} }
@ -57,9 +57,9 @@ bool cmBuildNameCommand::InitialPass(std::vector<std::string> const& args,
this->Makefile->ExpandVariablesInString(compiler); this->Makefile->ExpandVariablesInString(compiler);
buildname += "-"; buildname += "-";
buildname += cmSystemTools::GetFilenameName(compiler); buildname += cmSystemTools::GetFilenameName(compiler);
cmSystemTools::ReplaceString(buildname, "/", "_"); std::replace(buildname.begin(), buildname.end(), '/', '_');
cmSystemTools::ReplaceString(buildname, "(", "_"); std::replace(buildname.begin(), buildname.end(), '(', '_');
cmSystemTools::ReplaceString(buildname, ")", "_"); std::replace(buildname.begin(), buildname.end(), ')', '_');
this->Makefile->AddCacheDefinition(args[0], buildname.c_str(), this->Makefile->AddCacheDefinition(args[0], buildname.c_str(),
"Name of build.", cmState::STRING); "Name of build.", cmState::STRING);

View File

@ -95,9 +95,9 @@ bool cmCreateTestSourceList::InitialPass(std::vector<std::string> const& args,
func_name = cmSystemTools::GetFilenameWithoutLastExtension(*i); func_name = cmSystemTools::GetFilenameWithoutLastExtension(*i);
} }
cmSystemTools::ConvertToUnixSlashes(func_name); cmSystemTools::ConvertToUnixSlashes(func_name);
cmSystemTools::ReplaceString(func_name, " ", "_"); std::replace(func_name.begin(), func_name.end(), ' ', '_');
cmSystemTools::ReplaceString(func_name, "/", "_"); std::replace(func_name.begin(), func_name.end(), '/', '_');
cmSystemTools::ReplaceString(func_name, ":", "_"); std::replace(func_name.begin(), func_name.end(), ':', '_');
tests_func_name.push_back(func_name); tests_func_name.push_back(func_name);
forwardDeclareCode += "int "; forwardDeclareCode += "int ";
forwardDeclareCode += func_name; forwardDeclareCode += func_name;

View File

@ -214,7 +214,7 @@ void cmGlobalGhsMultiGenerator::OpenBuildFileStream()
this->GetCMakeInstance()->MarkCliAsUsed("GHS_OS_DIR"); this->GetCMakeInstance()->MarkCliAsUsed("GHS_OS_DIR");
} }
std::string fOSDir(this->trimQuotes(osDir)); std::string fOSDir(this->trimQuotes(osDir));
cmSystemTools::ReplaceString(fOSDir, "\\", "/"); std::replace(fOSDir.begin(), fOSDir.end(), '\\', '/');
if (!fOSDir.empty() && ('c' == fOSDir[0] || 'C' == fOSDir[0])) { if (!fOSDir.empty() && ('c' == fOSDir[0] || 'C' == fOSDir[0])) {
this->OSDirRelative = false; this->OSDirRelative = false;
} else { } else {
@ -230,7 +230,7 @@ void cmGlobalGhsMultiGenerator::OpenBuildFileStream()
this->GetCMakeInstance()->MarkCliAsUsed("GHS_BSP_NAME"); this->GetCMakeInstance()->MarkCliAsUsed("GHS_BSP_NAME");
} }
std::string fBspName(this->trimQuotes(bspName)); std::string fBspName(this->trimQuotes(bspName));
cmSystemTools::ReplaceString(fBspName, "\\", "/"); std::replace(fBspName.begin(), fBspName.end(), '\\', '/');
this->WriteMacros(); this->WriteMacros();
this->WriteHighLevelDirectives(); this->WriteHighLevelDirectives();

View File

@ -113,9 +113,9 @@ std::string cmGlobalNinjaGenerator::EncodePath(const std::string& path)
std::string result = path; std::string result = path;
#ifdef _WIN32 #ifdef _WIN32
if (this->IsGCCOnWindows()) if (this->IsGCCOnWindows())
cmSystemTools::ReplaceString(result, "\\", "/"); std::replace(result.begin(), result.end(), '\\', '/');
else else
cmSystemTools::ReplaceString(result, "/", "\\"); std::replace(result.begin(), result.end(), '/', '\\');
#endif #endif
return EncodeLiteral(result); return EncodeLiteral(result);
} }
@ -742,7 +742,7 @@ std::string cmGlobalNinjaGenerator::ConvertToNinjaPath(const std::string& path)
std::string convPath = ng->Convert(path, cmOutputConverter::HOME_OUTPUT); std::string convPath = ng->Convert(path, cmOutputConverter::HOME_OUTPUT);
convPath = this->NinjaOutputPath(convPath); convPath = this->NinjaOutputPath(convPath);
#ifdef _WIN32 #ifdef _WIN32
cmSystemTools::ReplaceString(convPath, "/", "\\"); std::replace(convPath.begin(), convPath.end(), '/', '\\');
#endif #endif
return convPath; return convPath;
} }
@ -755,7 +755,7 @@ std::string cmGlobalNinjaGenerator::ConvertToNinjaFolderRule(
std::string convPath = ng->Convert(path + "/all", cmOutputConverter::HOME); std::string convPath = ng->Convert(path + "/all", cmOutputConverter::HOME);
convPath = this->NinjaOutputPath(convPath); convPath = this->NinjaOutputPath(convPath);
#ifdef _WIN32 #ifdef _WIN32
cmSystemTools::ReplaceString(convPath, "/", "\\"); std::replace(convPath.begin(), convPath.end(), '/', '\\');
#endif #endif
return convPath; return convPath;
} }

View File

@ -457,7 +457,7 @@ void cmGlobalVisualStudio7Generator::WriteFolders(std::ostream& fout)
std::string fullName = iter->first; std::string fullName = iter->first;
std::string guid = this->GetGUID(fullName.c_str()); std::string guid = this->GetGUID(fullName.c_str());
cmSystemTools::ReplaceString(fullName, "/", "\\"); std::replace(fullName.begin(), fullName.end(), '/', '\\');
if (cmSystemTools::StringStartsWith(fullName.c_str(), prefix)) { if (cmSystemTools::StringStartsWith(fullName.c_str(), prefix)) {
fullName = fullName.substr(skip_prefix); fullName = fullName.substr(skip_prefix);
} }

View File

@ -622,7 +622,7 @@ void WriteVSMacrosFileRegistryEntry(const std::string& nextAvailableSubKeyName,
DWORD dw = 0; DWORD dw = 0;
std::string s(macrosFile); std::string s(macrosFile);
cmSystemTools::ReplaceString(s, "/", "\\"); std::replace(s.begin(), s.end(), '/', '\\');
std::wstring ws = cmsys::Encoding::ToWide(s); std::wstring ws = cmsys::Encoding::ToWide(s);
result = result =

View File

@ -367,7 +367,7 @@ std::string cmGlobalXCodeGenerator::PostBuildMakeTarget(
std::string const& tName, std::string const& configName) std::string const& tName, std::string const& configName)
{ {
std::string target = tName; std::string target = tName;
cmSystemTools::ReplaceString(target, " ", "_"); std::replace(target.begin(), target.end(), ' ', '_');
std::string out = "PostBuild." + target; std::string out = "PostBuild." + target;
if (this->XcodeVersion > 20) { if (this->XcodeVersion > 20) {
out += "." + configName; out += "." + configName;

View File

@ -93,11 +93,11 @@ void cmInstallExportGenerator::ComputeTempDir()
dest[0] = '_'; dest[0] = '_';
} }
// Avoid windows full paths by removing colons. // Avoid windows full paths by removing colons.
cmSystemTools::ReplaceString(dest, ":", "_"); std::replace(dest.begin(), dest.end(), ':', '_');
// Avoid relative paths that go up the tree. // Avoid relative paths that go up the tree.
cmSystemTools::ReplaceString(dest, "../", "__/"); cmSystemTools::ReplaceString(dest, "../", "__/");
// Avoid spaces. // Avoid spaces.
cmSystemTools::ReplaceString(dest, " ", "_"); std::replace(dest.begin(), dest.end(), ' ', '_');
this->TempDir += dest; this->TempDir += dest;
} }
} }

View File

@ -2309,13 +2309,13 @@ std::string& cmLocalGenerator::CreateSafeUniqueObjectFileName(
ssin.erase(0, ssin.find_first_not_of("/")); ssin.erase(0, ssin.find_first_not_of("/"));
// Avoid full paths by removing colons. // Avoid full paths by removing colons.
cmSystemTools::ReplaceString(ssin, ":", "_"); std::replace(ssin.begin(), ssin.end(), ':', '_');
// Avoid relative paths that go up the tree. // Avoid relative paths that go up the tree.
cmSystemTools::ReplaceString(ssin, "../", "__/"); cmSystemTools::ReplaceString(ssin, "../", "__/");
// Avoid spaces. // Avoid spaces.
cmSystemTools::ReplaceString(ssin, " ", "_"); std::replace(ssin.begin(), ssin.end(), ' ', '_');
// Mangle the name if necessary. // Mangle the name if necessary.
if (this->Makefile->IsOn("CMAKE_MANGLE_OBJECT_FILE_NAMES")) { if (this->Makefile->IsOn("CMAKE_MANGLE_OBJECT_FILE_NAMES")) {

View File

@ -1190,7 +1190,7 @@ std::string cmLocalUnixMakefileGenerator3::CreateMakeVariable(
// if this there is no value for this->MakefileVariableSize then // if this there is no value for this->MakefileVariableSize then
// the string must have bad characters in it // the string must have bad characters in it
if (!this->MakefileVariableSize) { if (!this->MakefileVariableSize) {
cmSystemTools::ReplaceString(ret, ".", "_"); std::replace(ret.begin(), ret.end(), '.', '_');
cmSystemTools::ReplaceString(ret, "-", "__"); cmSystemTools::ReplaceString(ret, "-", "__");
cmSystemTools::ReplaceString(ret, "+", "___"); cmSystemTools::ReplaceString(ret, "+", "___");
int ni = 0; int ni = 0;

View File

@ -134,7 +134,7 @@ void cmNinjaTargetGenerator::AddIncludeFlags(std::string& languageFlags,
// needed by cmcldeps // needed by cmcldeps
false, this->GetConfigName()); false, this->GetConfigName());
if (this->GetGlobalGenerator()->IsGCCOnWindows()) if (this->GetGlobalGenerator()->IsGCCOnWindows())
cmSystemTools::ReplaceString(includeFlags, "\\", "/"); std::replace(includeFlags.begin(), includeFlags.end(), '\\', '/');
this->LocalGenerator->AppendFlags(languageFlags, includeFlags); this->LocalGenerator->AppendFlags(languageFlags, includeFlags);
} }

View File

@ -1303,7 +1303,7 @@ bool cmQtAutoGenerators::GenerateQrc(const std::string& qrcInputFile,
const std::string& qrcOutputFile) const std::string& qrcOutputFile)
{ {
std::string relName = this->SourceRelativePath(qrcInputFile); std::string relName = this->SourceRelativePath(qrcInputFile);
cmSystemTools::ReplaceString(relName, "/", "_"); std::replace(relName.begin(), relName.end(), '/', '_');
relName += cmsys::SystemTools::GetFilenameWithoutLastExtension(qrcInputFile); relName += cmsys::SystemTools::GetFilenameWithoutLastExtension(qrcInputFile);
const ::std::string qrcBuildFile = this->Builddir + qrcOutputFile; const ::std::string qrcBuildFile = this->Builddir + qrcOutputFile;

View File

@ -62,7 +62,7 @@ bool cmSeparateArgumentsCommand::InitialPass(
// Original space-replacement version of command. // Original space-replacement version of command.
if (const char* def = this->Makefile->GetDefinition(var)) { if (const char* def = this->Makefile->GetDefinition(var)) {
std::string value = def; std::string value = def;
cmSystemTools::ReplaceString(value, " ", ";"); std::replace(value.begin(), value.end(), ' ', ';');
this->Makefile->AddDefinition(var, value.c_str()); this->Makefile->AddDefinition(var, value.c_str());
} }
} else { } else {

View File

@ -2207,7 +2207,7 @@ bool cmVisualStudio10TargetGenerator::ComputeLinkOptions(
libs = libs.substr(0, pos + 1); libs = libs.substr(0, pos + 1);
} }
// Replace spaces in libs with ; // Replace spaces in libs with ;
cmSystemTools::ReplaceString(libs, " ", ";"); std::replace(libs.begin(), libs.end(), ' ', ';');
std::vector<std::string> libVec; std::vector<std::string> libVec;
cmSystemTools::ExpandListArgument(libs, libVec); cmSystemTools::ExpandListArgument(libs, libVec);

View File

@ -141,8 +141,8 @@ std::string cmVisualStudioWCEPlatformParser::FixPaths(
cmSystemTools::ReplaceString(ret, "$(PATH)", "%PATH%"); cmSystemTools::ReplaceString(ret, "$(PATH)", "%PATH%");
cmSystemTools::ReplaceString(ret, "$(VCInstallDir)", VcInstallDir.c_str()); cmSystemTools::ReplaceString(ret, "$(VCInstallDir)", VcInstallDir.c_str());
cmSystemTools::ReplaceString(ret, "$(VSInstallDir)", VsInstallDir.c_str()); cmSystemTools::ReplaceString(ret, "$(VSInstallDir)", VsInstallDir.c_str());
cmSystemTools::ReplaceString(ret, "\\", "/"); std::replace(ret.begin(), ret.end(), '\\', '/');
cmSystemTools::ReplaceString(ret, "//", "/"); cmSystemTools::ReplaceString(ret, "//", "/");
cmSystemTools::ReplaceString(ret, "/", "\\"); std::replace(ret.begin(), ret.end(), '/', '\\');
return ret; return ret;
} }