summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-11-09 13:01:22 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2019-11-09 13:01:22 (GMT)
commit1919a8e0457925ff63d91a0227729340121d461e (patch)
tree29be0035ab384f3114357ce38875daf230330a07 /src/doxygen.cpp
parent2702af59b09e68ad2db9eff7ef4ae5594deb15ae (diff)
downloadDoxygen-1919a8e0457925ff63d91a0227729340121d461e.zip
Doxygen-1919a8e0457925ff63d91a0227729340121d461e.tar.gz
Doxygen-1919a8e0457925ff63d91a0227729340121d461e.tar.bz2
Make preprocess code reentrant
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index bf282b6..b0b3e67 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -171,6 +171,7 @@ bool Doxygen::generatingXmlOutput = FALSE;
bool Doxygen::markdownSupport = TRUE;
GenericsSDict *Doxygen::genericsDict;
DocGroup Doxygen::docGroup;
+Preprocessor *Doxygen::preprocessor = 0;
// locally accessible globals
static std::unordered_map< std::string, const Entry* > g_classEntries;
@@ -9395,7 +9396,7 @@ static void parseFile(ParserInterface *parser,
BufStr inBuf(fi.size()+4096);
msg("Preprocessing %s...\n",fn);
readInputFile(fileName,inBuf);
- preprocessFile(fileName,inBuf,preBuf);
+ Doxygen::preprocessor->processFile(fileName,inBuf,preBuf);
}
else // no preprocessing
{
@@ -10078,7 +10079,7 @@ void initDoxygen()
portable_correct_path();
Doxygen::runningTime.start();
- initPreprocessor();
+ Doxygen::preprocessor = new Preprocessor();
Doxygen::parserManager = new ParserManager;
Doxygen::parserManager->registerDefaultParser( new FileParser);
@@ -10182,7 +10183,7 @@ void cleanUpDoxygen()
delete Doxygen::globalScope;
delete Doxygen::xrefLists;
delete Doxygen::parserManager;
- cleanUpPreprocessor();
+ delete Doxygen::preprocessor;
delete theTranslator;
delete g_outputList;
Mappers::freeMappers();
@@ -10662,7 +10663,7 @@ void adjustConfiguration()
while (s)
{
QFileInfo fi(s);
- addSearchDir(fi.absFilePath().utf8());
+ Doxygen::preprocessor->addSearchDir(fi.absFilePath().utf8());
s=includePath.next();
}
@@ -11266,7 +11267,6 @@ void parseInput()
// we are done with input scanning now, so free up the buffers used by flex
// (can be around 4MB)
- preFreeScanner();
scanFreeScanner();
pyscanFreeScanner();