summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2004-12-13 18:59:17 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2004-12-13 18:59:17 (GMT)
commita17029cb0765fc41b79b3c94a28d734071f13176 (patch)
tree024124085a492939d5ad3d3b60fbac43f928b925 /src/scanner.l
parent6042e1bf9a46e61bf168ed3755e896aa9ebad934 (diff)
downloadDoxygen-a17029cb0765fc41b79b3c94a28d734071f13176.zip
Doxygen-a17029cb0765fc41b79b3c94a28d734071f13176.tar.gz
Doxygen-a17029cb0765fc41b79b3c94a28d734071f13176.tar.bz2
Release-1.3.9.1-20041213
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/scanner.l b/src/scanner.l
index e9b01b3..ac2f2a4 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -376,7 +376,7 @@ static void addXRefItem(const char *listName,const char *itemTitle,const char *l
SectionInfo *si=new SectionInfo(listName,anchorLabel,
sectionTitle,SectionInfo::Anchor);
Doxygen::sectionDict.insert(anchorLabel,si);
- current->anchors->append(new SectionInfo(*si));
+ current->anchors->append(si);
}
current->brief = slString.copy(); // restore orginial brief desc.
}
@@ -2303,6 +2303,10 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->startLine = yyLineNr;
current_root->addSubEntry( current ) ;
}
+ else
+ {
+ delete current;
+ }
if ( *yytext == ',')
{
current = new Entry(*current);
@@ -3665,6 +3669,10 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
}
else
{
+ if (current->section == Entry::ENUM_SEC)
+ { // found "enum a b" -> variable
+ current->section = Entry::VARIABLE_SEC ;
+ }
current->type += ' ' ;
current->type += current->name ;
current->name = yytext ;
@@ -5983,6 +5991,7 @@ static void parseCompounds(Entry *rt)
insideObjC = ce->objc;
//printf("---> Inner block starts at line %d\n",yyLineNr);
//current->reset();
+ if (current) delete current;
current = new Entry;
gstat = FALSE;
int ni=ce->name.findRev("::"); if (ni==-1) ni=0; else ni+=2;