summaryrefslogtreecommitdiffstats
path: root/src/code.l
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2021-04-26 17:32:20 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2021-04-26 17:32:20 (GMT)
commit55e86052e0522ac7b51743449055572cc8bc7823 (patch)
tree7f69870aea5296850947967e567706538082dae5 /src/code.l
parent51316839084c3292a8fb216e73ed146683028d4a (diff)
downloadDoxygen-55e86052e0522ac7b51743449055572cc8bc7823.zip
Doxygen-55e86052e0522ac7b51743449055572cc8bc7823.tar.gz
Doxygen-55e86052e0522ac7b51743449055572cc8bc7823.tar.bz2
Fix issues caused by QCString::rawData and QCString::operator[]
- methods were marked const but still returned a non-const reference, cause wrongly optimized code for some platforms/compilers
Diffstat (limited to 'src/code.l')
-rw-r--r--src/code.l9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/code.l b/src/code.l
index c8a1dba..ed94853 100644
--- a/src/code.l
+++ b/src/code.l
@@ -2480,18 +2480,17 @@ static void writeMultiLineCodeLink(yyscan_t yyscanner,CodeOutputInterface &ol,
tooltip = d->briefDescriptionAsTooltip();
}
bool done=FALSE;
- char *p=text.rawData();
+ const char *p=text.data();
while (!done)
{
- char *sp=p;
+ const char *sp=p;
char c;
while ((c=*p++) && c!='\n') { }
if (c=='\n')
{
yyextra->yyLineNr++;
- *(p-1)='\0';
- DBG_CTX((stderr,"writeCodeLink(%s,%s,%s,%s)\n",qPrint(ref),qPrint(file),qPrint(anchor),sp));
- ol.writeCodeLink(ref,file,anchor,QCString(sp),tooltip);
+ DBG_CTX((stderr,"writeCodeLink(%s,%s,%s,%s)\n",qPrint(ref),qPrint(file),qPrint(anchor),qPrint(QCString(sp,p-sp-1))));
+ ol.writeCodeLink(ref,file,anchor,QCString(sp,p-sp-1),tooltip);
nextCodeLine(yyscanner);
}
else