summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-12-30 18:34:15 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2019-12-30 18:34:15 (GMT)
commite55c2248b46d5580e5b184d2ff9c773f333308b2 (patch)
tree78e375caf67e26d4d2857a94d25a508a67bf64b8 /src/scanner.l
parentabf1e46f7bc2c31972d36231b4672580704fcc10 (diff)
downloadDoxygen-e55c2248b46d5580e5b184d2ff9c773f333308b2.zip
Doxygen-e55c2248b46d5580e5b184d2ff9c773f333308b2.tar.gz
Doxygen-e55c2248b46d5580e5b184d2ff9c773f333308b2.tar.bz2
Make commentscan.l reentrant
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/scanner.l b/src/scanner.l
index 7b24d39..187a9ff 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -52,6 +52,7 @@
#include "arguments.h"
#include "clangparser.h"
+#include "markdown.h"
#define YY_NO_INPUT 1
#define YY_NO_UNISTD_H 1
@@ -59,6 +60,7 @@
struct scannerYY_state
{
OutlineParserInterface *thisParser;
+ CommentScanner commentScanner;
const char * inputString = 0;
int inputPosition = 0;
int lastContext = 0;
@@ -6965,8 +6967,8 @@ static void handleCommentBlock(yyscan_t yyscanner,const QCString &doc,bool brief
int position=0;
bool needsEntry=FALSE;
- QCString processedDoc = preprocessCommentBlock(stripIndentation(doc),yyextra->yyFileName,lineNr);
- while (parseCommentBlock(
+ QCString processedDoc = processMarkdownForCommentBlock(stripIndentation(doc),yyextra->yyFileName,lineNr);
+ while (yyextra->commentScanner.parseCommentBlock(
yyextra->thisParser,
yyextra->docBlockInBody && yyextra->previous ? yyextra->previous.get() : yyextra->current.get(),
processedDoc, // text
@@ -7025,7 +7027,7 @@ static void handleParametersCommentBlocks(yyscan_t yyscanner,ArgumentList &al)
yyextra->current->brief.resize(0);
//printf("handleParametersCommentBlock [%s]\n",doc.data());
- while (parseCommentBlock(
+ while (yyextra->commentScanner.parseCommentBlock(
yyextra->thisParser,
yyextra->current.get(),
a.docs, // text