[Reproducer] Use ::rtrim() to remove trailing control characters.
Pavel correctly pointed out that removing all control characters from
the working directory is overkill. It should be sufficient to just strip
the last ones.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375259 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Initialization/SystemInitializerCommon.cpp b/source/Initialization/SystemInitializerCommon.cpp
index 36cec30..7ae8ef5 100644
--- a/source/Initialization/SystemInitializerCommon.cpp
+++ b/source/Initialization/SystemInitializerCommon.cpp
@@ -80,12 +80,10 @@
}
if (llvm::Expected<std::string> cwd =
loader->LoadBuffer<WorkingDirectoryProvider>()) {
- cwd->erase(std::remove_if(cwd->begin(), cwd->end(),
- [](char c) { return std::iscntrl(c); }),
- cwd->end());
+ llvm::StringRef working_dir = llvm::StringRef(*cwd).rtrim();
if (std::error_code ec = FileSystem::Instance()
.GetVirtualFileSystem()
- ->setCurrentWorkingDirectory(*cwd)) {
+ ->setCurrentWorkingDirectory(working_dir)) {
return llvm::errorCodeToError(ec);
}
} else {