summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-12 17:50:39 +0000
committerChris Lattner <sabre@nondot.org>2009-08-12 17:50:39 +0000
commit91f5ff6bce50780482b1753dd4a3eb3e67fa1ccc (patch)
tree2ad79d426470a8920e728303a02598bace29a83f /clang/lib
parentc02f3d866fad1882334acd4c0ce0cc5e2f3a9d3c (diff)
downloadbcm5719-llvm-91f5ff6bce50780482b1753dd4a3eb3e67fa1ccc.tar.gz
bcm5719-llvm-91f5ff6bce50780482b1753dd4a3eb3e67fa1ccc.zip
improve path handling, patch by Baptiste Lepilleur!
llvm-svn: 78824
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Basic/FileManager.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Basic/FileManager.cpp b/clang/lib/Basic/FileManager.cpp
index cc25d330515..98979d56cf0 100644
--- a/clang/lib/Basic/FileManager.cpp
+++ b/clang/lib/Basic/FileManager.cpp
@@ -221,6 +221,9 @@ const FileEntry *FileManager::getFile(const char *NameStart,
const char *SlashPos = NameEnd-1;
while (SlashPos >= NameStart && !IS_DIR_SEPARATOR_CHAR(SlashPos[0]))
--SlashPos;
+ // Ignore duplicate //'s.
+ while (SlashPos > NameStart && IS_DIR_SEPARATOR_CHAR(SlashPos[-1]))
+ --SlashPos;
const DirectoryEntry *DirInfo;
if (SlashPos < NameStart) {
OpenPOWER on IntegriCloud