summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SymbolFile
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2015-07-27 21:27:02 +0000
committerEnrico Granata <egranata@apple.com>2015-07-27 21:27:02 +0000
commit99e5e220915122290dc0d7282c30d177c535a17c (patch)
treebe67e857ef07cca905f95da666c94c5e22c43344 /lldb/source/Plugins/SymbolFile
parent5ce142b42913ef07b494c32fc69b1cf891b4d375 (diff)
downloadbcm5719-llvm-99e5e220915122290dc0d7282c30d177c535a17c.tar.gz
bcm5719-llvm-99e5e220915122290dc0d7282c30d177c535a17c.zip
If a path contains a '/' before a ':', then the ':' is not a hostname separator, but just a part of the path (e.g. /tmp/fi:lename vs. pro:/tmp/fi:lename)
llvm-svn: 243330
Diffstat (limited to 'lldb/source/Plugins/SymbolFile')
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
index ba2f31c17c2..b18628f7b19 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -126,9 +126,15 @@ removeHostnameFromPathname(const char* path_from_dwarf)
{
return path_from_dwarf;
}
-
+
const char *colon_pos = strchr(path_from_dwarf, ':');
- if (!colon_pos)
+ if (nullptr == colon_pos)
+ {
+ return path_from_dwarf;
+ }
+
+ const char *slash_pos = strchr(path_from_dwarf, '/');
+ if (slash_pos && (slash_pos < colon_pos))
{
return path_from_dwarf;
}
@@ -143,7 +149,7 @@ removeHostnameFromPathname(const char* path_from_dwarf)
{
return path_from_dwarf;
}
-
+
return colon_pos + 1;
}
OpenPOWER on IntegriCloud