summaryrefslogtreecommitdiffstats
path: root/src/util.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2009-10-27 20:10:16 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2009-10-27 20:10:16 (GMT)
commitd2aec1bac5dbf774dd640b36aa0a6d7c1288c570 (patch)
tree7b31e0941321a116a730c80e26726da9202178c3 /src/util.cpp
parenta62d9f8f1c2c97d454ff33bc1a4911d1362d9766 (diff)
downloadDoxygen-d2aec1bac5dbf774dd640b36aa0a6d7c1288c570.zip
Doxygen-d2aec1bac5dbf774dd640b36aa0a6d7c1288c570.tar.gz
Doxygen-d2aec1bac5dbf774dd640b36aa0a6d7c1288c570.tar.bz2
Release-1.6.1-20091027
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp40
1 files changed, 19 insertions, 21 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 3a96fce..a427b67 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -3136,13 +3136,10 @@ static QCString getCanonicalTypeForIdentifier(
//printf(" mtype=%s\n",mType?mType->name().data():"<none>");
- if (cd && cd==d)
- {
- if (tSpec) *tSpec="";
- return "";
- }
- else if (cd) // resolves to a known class type
+ if (cd) // resolves to a known class type
{
+ if (cd==d && tSpec) *tSpec="";
+
if (mType && mType->isTypedef()) // but via a typedef
{
result = resolvedType;
@@ -3248,7 +3245,8 @@ static QCString extractCanonicalType(Definition *d,FileDef *fs,QCString type)
{
canType += ct;
}
- //printf(" word=%s templSpec=%s canType=%s\n",word.data(),templSpec.data(),canType.data());
+ //printf(" word=%s templSpec=%s canType=%s ct=%s\n",
+ // word.data(),templSpec.data(),canType.data(),ct.data());
if (!templSpec.isEmpty()) // if we didn't use up the templSpec already
// (i.e. type is not a template specialization)
// then resolve any identifiers inside.
@@ -4095,16 +4093,14 @@ static bool getScopeDefs(const char *docScope,const char *scope,
return FALSE;
}
-//static bool isLowerCase(QCString &s)
-//{
-// char *p=s.data();
-// if (p==0) return TRUE;
-// int c;
-// while ((c=*p++)) if (!islower(c)) return FALSE;
-// return TRUE;
-//}
-
-
+static bool isLowerCase(QCString &s)
+{
+ char *p=s.data();
+ if (p==0) return TRUE;
+ int c;
+ while ((c=*p++)) if (!islower(c)) return FALSE;
+ return TRUE;
+}
/*! Returns an object to reference to given its name and context
* @post return value TRUE implies *resContext!=0 or *resMember!=0
@@ -4136,10 +4132,12 @@ bool resolveRef(/* in */ const char *scName,
ClassDef *cd=0;
NamespaceDef *nd=0;
- //if (!inSeeBlock && scopePos==-1 && isLowerCase(tsName))
- //{ // link to lower case only name => do not try to autolink
- // return FALSE;
- //}
+ // the following if() was commented out for releases in the range
+ // 1.5.2 to 1.6.1, but has been restored as a result of bug report 594787.
+ if (!inSeeBlock && scopePos==-1 && isLowerCase(tsName))
+ { // link to lower case only name => do not try to autolink
+ return FALSE;
+ }
//printf("scName=%s fullName=%s\n",scName,fullName.data());