From 12bee2741325f33cd9aa5c991a3ef8ebd7c10aed Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Fri, 18 Oct 2019 17:11:48 +0000 Subject: [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 --- source/Initialization/SystemInitializerCommon.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/Initialization/SystemInitializerCommon.cpp b/source/Initialization/SystemInitializerCommon.cpp index 36cec3094..7ae8ef5d4 100644 --- a/source/Initialization/SystemInitializerCommon.cpp +++ b/source/Initialization/SystemInitializerCommon.cpp @@ -80,12 +80,10 @@ llvm::Error SystemInitializerCommon::Initialize() { } if (llvm::Expected cwd = loader->LoadBuffer()) { - 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 { -- cgit v1.2.3