summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2020-04-08 16:46:05 (GMT)
committeralbert-github <albert.tests@gmail.com>2020-04-08 16:46:05 (GMT)
commitf929c5991b92678c167b82a9171777fef11672f1 (patch)
treed7ae4db74c35fd5c079f33b8828dba4ccd2de9b2 /src
parent7ea3bb2e16facf7befa820e4f1ce43872d335554 (diff)
downloadDoxygen-f929c5991b92678c167b82a9171777fef11672f1.zip
Doxygen-f929c5991b92678c167b82a9171777fef11672f1.tar.gz
Doxygen-f929c5991b92678c167b82a9171777fef11672f1.tar.bz2
issue #7692 \copydoc does not work with file paths including dots
Besides links to functions / classes etc. it is also possible to have a link to a file and a file can contain a dot, so we first have to check the "original" name and when not OK we should also check the replacements. Regression on #7042
Diffstat (limited to 'src')
-rw-r--r--src/docparser.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 7ece3ef..6a80faa 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -662,7 +662,6 @@ static bool insideTable(DocNode *n)
}
//---------------------------------------------------------------------------
-
/*! Looks for a documentation block with name commandName in the current
* context (g_context). The resulting documentation string is
* put in pDoc, the definition in which the documentation was found is
@@ -670,7 +669,7 @@ static bool insideTable(DocNode *n)
* @retval TRUE if name was found.
* @retval FALSE if name was not found.
*/
-static bool findDocsForMemberOrCompound(const char *commandName,
+static bool findDocsForMemberOrCompoundLow(const char *commandName,
QCString *pDoc,
QCString *pBrief,
const Definition **pDef)
@@ -679,8 +678,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
*pDoc="";
*pBrief="";
*pDef=0;
- QCString cmdArg=substitute(commandName,"#","::");
- cmdArg = replaceScopeSeparator(cmdArg);
+ QCString cmdArg=commandName;
int l=(int)cmdArg.length();
if (l==0) return FALSE;
@@ -796,6 +794,19 @@ static bool findDocsForMemberOrCompound(const char *commandName,
return FALSE;
}
+static bool findDocsForMemberOrCompound(const char *commandName,
+ QCString *pDoc,
+ QCString *pBrief,
+ const Definition **pDef)
+{
+ QCString cmdArg=substitute(commandName,"#","::");
+ if (findDocsForMemberOrCompoundLow(cmdArg.data(), pDoc, pBrief, pDef)) return true;
+ QCString cmdArg1=substitute(commandName,"#","::");
+ cmdArg1 = replaceScopeSeparator(cmdArg);
+ if (cmdArg == cmdArg1) return false;
+ return findDocsForMemberOrCompoundLow(cmdArg1.data(), pDoc, pBrief, pDef);
+}
+
//---------------------------------------------------------------------------
inline void errorHandleDefaultToken(DocNode *parent,int tok,
QList<DocNode> &children,const char *txt)