A few small fixes to make things like image list not
print "//mach_kernel" if you are debugging an executable
in the top level directory.
llvm-svn: 181190
diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp
index 899db4c..522a482 100644
--- a/lldb/source/Commands/CommandObjectTarget.cpp
+++ b/lldb/source/Commands/CommandObjectTarget.cpp
@@ -1385,12 +1385,9 @@
{
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 82f5b34..3e56e5c 100644
--- a/lldb/source/Host/common/FileSpec.cpp
+++ b/lldb/source/Host/common/FileSpec.cpp
@@ -523,10 +523,11 @@
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 @@
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)