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
This commit is contained in:
Jason Molenda
2013-05-06 10:21:11 +00:00
parent 5e37e99ba6
commit db7d11c7a2
2 changed files with 7 additions and 8 deletions

View File

@@ -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
{

View File

@@ -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)