diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2021-04-26 17:32:20 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2021-04-26 17:32:20 (GMT) |
commit | 55e86052e0522ac7b51743449055572cc8bc7823 (patch) | |
tree | 7f69870aea5296850947967e567706538082dae5 /src/code.l | |
parent | 51316839084c3292a8fb216e73ed146683028d4a (diff) | |
download | Doxygen-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.l | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -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 |