Remove trailing slash from dumping directory FileSpec.

Reviewers: domipheus, ovyalov

Reviewed By: ovyalov

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D9862

llvm-svn: 237741
This commit is contained in:
Chaoren Lin 2015-05-19 23:11:58 +00:00
parent 4bcd428117
commit 70e0cbb3ed
2 changed files with 9 additions and 4 deletions

View File

@ -259,9 +259,13 @@ public:
///
/// @param[in] s
/// The stream to which to dump the object description.
///
/// @param[in] trailing_slash
/// If true and the file is a non root directory, then a trailing slash
/// will be added.
//------------------------------------------------------------------
void
Dump (Stream *s) const;
Dump(Stream *s, bool trailing_slash = true) const;
//------------------------------------------------------------------
/// Existence test.

View File

@ -609,12 +609,13 @@ FileSpec::RemoveBackupDots (const ConstString &input_const_str, ConstString &res
// directory delimiter, and the filename.
//------------------------------------------------------------------
void
FileSpec::Dump(Stream *s) const
FileSpec::Dump(Stream *s, bool trailing_slash) const
{
if (s)
{
m_directory.Dump(s);
if (m_directory && m_directory.GetStringRef().back() != '/')
if ((m_filename || trailing_slash) && m_directory &&
!m_directory.GetStringRef().endswith("/"))
s->PutChar('/');
m_filename.Dump(s);
}
@ -816,7 +817,7 @@ void
FileSpec::GetPath(llvm::SmallVectorImpl<char> &path, bool denormalize) const
{
StreamString stream;
Dump(&stream);
Dump(&stream, false);
path.append(stream.GetString().begin(), stream.GetString().end());
Normalize(path, m_syntax);
if (denormalize && !path.empty())