summaryrefslogtreecommitdiffstats
path: root/src/commentscan.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2009-10-27 20:10:16 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2009-10-27 20:10:16 (GMT)
commit0c751ba9f9a73ad649bf64cef4c9fdb82743b2f6 (patch)
tree7b31e0941321a116a730c80e26726da9202178c3 /src/commentscan.l
parent1042ef3a191bd0f399f1a2a20fe259c14fe6faf9 (diff)
downloadDoxygen-0c751ba9f9a73ad649bf64cef4c9fdb82743b2f6.zip
Doxygen-0c751ba9f9a73ad649bf64cef4c9fdb82743b2f6.tar.gz
Doxygen-0c751ba9f9a73ad649bf64cef4c9fdb82743b2f6.tar.bz2
Release-1.6.1-20091027
Diffstat (limited to 'src/commentscan.l')
-rw-r--r--src/commentscan.l26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/commentscan.l b/src/commentscan.l
index d7d064d..8d0e340 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -451,12 +451,6 @@ static bool makeStructuralIndicator(Entry::Sections s)
{
if (!getDocSectionName(current->section).isEmpty())
{
- //warn(yyFileName,yyLineNr,
- // "Warning: found a structural command %s for a section already "
- // "marked with structural command %s. Ignoring the latter command.",
- // getDocSectionName(s).data(),
- // getDocSectionName(current->section).data()
- // );
return TRUE;
}
else
@@ -2005,7 +1999,10 @@ static bool handlePage(const QCString &)
static bool handleMainpage(const QCString &)
{
bool stop=makeStructuralIndicator(Entry::MAINPAGEDOC_SEC);
- if (!stop) current->name = "mainpage";
+ if (!stop)
+ {
+ current->name = "mainpage";
+ }
BEGIN( PageDocArg2 );
return stop;
}
@@ -2013,7 +2010,10 @@ static bool handleMainpage(const QCString &)
static bool handleFile(const QCString &)
{
bool stop=makeStructuralIndicator(Entry::FILEDOC_SEC);
- if (!stop) current->name = yyFileName;
+ if (!stop)
+ {
+ current->name = yyFileName;
+ }
BEGIN( FileDocArg1 );
return stop;
}
@@ -2372,7 +2372,7 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
/* in */ Entry *curEntry,
/* in */ const QCString &comment,
/* in */ const QCString &fileName,
- /* in */ int lineNr,
+ /* in,out */ int &lineNr,
/* in */ bool isBrief,
/* in */ bool isAutoBriefOn,
/* in */ bool isInbody,
@@ -2456,8 +2456,16 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
newEntryNeeded = needNewEntry;
+ // if we did not proceed during this call, it does not make
+ // sence to continue, since we get stuck. See bug 567346 for situations
+ // were this happens
+ if (parseMore && position==inputPosition) parseMore=FALSE;
+
if (parseMore) position=inputPosition; else position=0;
+ lineNr = yyLineNr;
+ //printf("position=%d parseMore=%d\n",position,parseMore);
+
return parseMore;
}