diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2019-12-30 18:34:15 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-12-30 18:34:15 (GMT) |
commit | e55c2248b46d5580e5b184d2ff9c773f333308b2 (patch) | |
tree | 78e375caf67e26d4d2857a94d25a508a67bf64b8 /src/scanner.l | |
parent | abf1e46f7bc2c31972d36231b4672580704fcc10 (diff) | |
download | Doxygen-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.l | 8 |
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 |