summaryrefslogtreecommitdiffstats
path: root/lldb/source
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source')
-rw-r--r--lldb/source/Commands/CommandObjectTarget.cpp9
-rw-r--r--lldb/source/Host/common/FileSpec.cpp6
2 files changed, 7 insertions, 8 deletions
diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp
index 899db4c9ce1..522a4828624 100644
--- a/lldb/source/Commands/CommandObjectTarget.cpp
+++ b/lldb/source/Commands/CommandObjectTarget.cpp
@@ -1385,12 +1385,9 @@ DumpFullpath (Stream &strm, const FileSpec *file_spec_ptr, uint32_t width)
{
if (width > 0)
{
- char fullpath[PATH_MAX];
- if (file_spec_ptr->GetPath(fullpath, sizeof(fullpath)))
- {
- strm.Printf("%-*s", width, fullpath);
- return;
- }
+ std::string fullpath = file_spec_ptr->GetPath();
+ strm.Printf("%-*s", width, fullpath.c_str());
+ return;
}
else
{
diff --git a/lldb/source/Host/common/FileSpec.cpp b/lldb/source/Host/common/FileSpec.cpp
index 82f5b344b9a..3e56e5c204e 100644
--- a/lldb/source/Host/common/FileSpec.cpp
+++ b/lldb/source/Host/common/FileSpec.cpp
@@ -523,10 +523,11 @@ FileSpec::Equal (const FileSpec& a, const FileSpec& b, bool full)
void
FileSpec::Dump(Stream *s) const
{
+ static ConstString g_slash_only ("/");
if (s)
{
m_directory.Dump(s);
- if (m_directory)
+ if (m_directory && m_directory != g_slash_only)
s->PutChar('/');
m_filename.Dump(s);
}
@@ -705,13 +706,14 @@ FileSpec::GetPath(char *path, size_t path_max_len) const
std::string
FileSpec::GetPath (void) const
{
+ static ConstString g_slash_only ("/");
std::string path;
const char *dirname = m_directory.GetCString();
const char *filename = m_filename.GetCString();
if (dirname)
{
path.append (dirname);
- if (filename)
+ if (filename && m_directory != g_slash_only)
path.append ("/");
}
if (filename)
OpenPOWER on IntegriCloud