summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/scanner.l b/src/scanner.l
index be8f716..2fdf0f2 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2099,7 +2099,12 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
yyLineNr = atoi(&yytext[1]);
//printf("setting line number to %d\n",yyLineNr);
lastPreLineCtrlContext = YY_START;
- current->program+=yytext;
+ if (YY_START==ReadBody ||
+ YY_START==ReadNSBody ||
+ YY_START==ReadBodyIntf)
+ {
+ current->program+=yytext;
+ }
BEGIN( PreLineCtrl );
}
<PreLineCtrl>"\""[^\n\"]*"\"" {
@@ -5553,6 +5558,15 @@ static void handleCommentBlock(const QCString &doc,bool brief)
if (docBlockInBody && hideInBodyDocs) return;
//printf("parseCommentBlock [%s] brief=%d\n",doc.data(),brief);
int lineNr = brief ? current->briefLine : current->docLine; // line of block start
+
+ // fill in inbodyFile && inbodyLine the first time, see bug 633891
+ Entry *docEntry = docBlockInBody && previous ? previous : current;
+ if (docBlockInBody && docEntry && docEntry->inbodyLine==-1)
+ {
+ docEntry->inbodyFile = yyFileName;
+ docEntry->inbodyLine = lineNr;
+ }
+
while (parseCommentBlock(
g_thisParser,
docBlockInBody && previous ? previous : current,