summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-12-24 12:26:46 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-12-24 16:10:05 (GMT)
commitf5aa5e7b8306f3fe438127396515d36e1482e6ae (patch)
treea825accce2e8240357adb5e1d6f61602a07a6d6c
parentf20c2bab01307bb40eb4522e46df2d0a8dfe31a9 (diff)
downloadDoxygen-f5aa5e7b8306f3fe438127396515d36e1482e6ae.zip
Doxygen-f5aa5e7b8306f3fe438127396515d36e1482e6ae.tar.gz
Doxygen-f5aa5e7b8306f3fe438127396515d36e1482e6ae.tar.bz2
Bug 712819 - Some external namespaces appear in list despite having ALLEXTERNALS = NO
-rw-r--r--src/doxygen.cpp4
-rw-r--r--src/util.cpp5
2 files changed, 7 insertions, 2 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index f497c01..41fca96 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1836,6 +1836,10 @@ static void findUsingDirectives(EntryNav *rootNav)
//printf("Found using directive %s at line %d of %s\n",
// root->name.data(),root->startLine,root->fileName.data());
QCString name=substitute(root->name,".","::");
+ if (name.right(2)=="::")
+ {
+ name=name.left(name.length()-2);
+ }
if (!name.isEmpty())
{
NamespaceDef *usingNd = 0;
diff --git a/src/util.cpp b/src/util.cpp
index 4f33ab2..545cd43 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -218,6 +218,7 @@ QCString stripAnonymousNamespaceScope(const QCString &s)
{
int i,p=0,l;
QCString newScope;
+ int sl = s.length();
while ((i=getScopeFragment(s,p,&l))!=-1)
{
//printf("Scope fragment %s\n",s.mid(i,l).data());
@@ -229,10 +230,10 @@ QCString stripAnonymousNamespaceScope(const QCString &s)
newScope+=s.mid(i,l);
}
}
- else
+ else if (i<sl)
{
if (!newScope.isEmpty()) newScope+="::";
- newScope+=s.right(s.length()-i);
+ newScope+=s.right(sl-i);
goto done;
}
p=i+l;