summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2019-05-01 17:53:08 (GMT)
committeralbert-github <albert.tests@gmail.com>2019-05-01 17:53:08 (GMT)
commit1532b5ae1b607857b85d6f94944e570dd597a08b (patch)
tree575442aed9e281726e3204d15b0bb3bd03b523db /src
parentac76b9a7a70b3c828c76442f5977937fcb87811a (diff)
downloadDoxygen-1532b5ae1b607857b85d6f94944e570dd597a08b.zip
Doxygen-1532b5ae1b607857b85d6f94944e570dd597a08b.tar.gz
Doxygen-1532b5ae1b607857b85d6f94944e570dd597a08b.tar.bz2
issue #6950 XML - <initializer> for array of structure only contains references in first array element
Don't stop at a hexadecimal number, but output the hexadecimal number (plus the part that has not been printed yet) and continue with the next input part.
Diffstat (limited to 'src')
-rw-r--r--src/util.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 2719c73..bbd5773 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -2031,10 +2031,16 @@ void linkifyText(const TextGeneratorIntf &out, const Definition *scope,
int floatingIndex=0;
if (strLen==0) return;
// read a word from the text string
- while ((newIndex=regExp.match(txtStr,index,&matchLen))!=-1 &&
- (newIndex==0 || !(txtStr.at(newIndex-1)>='0' && txtStr.at(newIndex-1)<='9')) // avoid matching part of hex numbers
- )
+ newIndex=regExp.match(txtStr,index,&matchLen);
+ while ((newIndex=regExp.match(txtStr,index,&matchLen))!=-1)
{
+ if (!(newIndex == 0 || !(txtStr.at(newIndex-1)>='0' && txtStr.at(newIndex-1)<='9'))) // avoid matching part of hex numbers
+ {
+ out.writeString(txtStr.mid(skipIndex,newIndex+matchLen-skipIndex),keepSpaces);
+ floatingIndex+=newIndex-skipIndex+matchLen;
+ skipIndex=index=newIndex+matchLen;
+ continue;
+ }
// add non-word part to the result
floatingIndex+=newIndex-skipIndex+matchLen;
bool insideString=FALSE;