diff options
author | albert-github <albert.tests@gmail.com> | 2020-04-08 16:46:05 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2020-04-08 16:46:05 (GMT) |
commit | f929c5991b92678c167b82a9171777fef11672f1 (patch) | |
tree | d7ae4db74c35fd5c079f33b8828dba4ccd2de9b2 | |
parent | 7ea3bb2e16facf7befa820e4f1ce43872d335554 (diff) | |
download | Doxygen-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
-rw-r--r-- | src/docparser.cpp | 19 |
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) |