summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2011-06-06 19:49:53 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2011-06-06 19:49:53 (GMT)
commit0bb78ec1f61b95b550b65361081c01a104728341 (patch)
treeb158d4e26359c261b119f485d1d4c69a6034663c /src/scanner.l
parent3c0d4d412c7b6c2afa9e76fcfd5ef5ea8586ad68 (diff)
downloadDoxygen-0bb78ec1f61b95b550b65361081c01a104728341.zip
Doxygen-0bb78ec1f61b95b550b65361081c01a104728341.tar.gz
Doxygen-0bb78ec1f61b95b550b65361081c01a104728341.tar.bz2
Release-1.7.4-20110606
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/scanner.l b/src/scanner.l
index 122cd05..7ebc0d8 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2247,10 +2247,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
}
<FindMembers>[*&]+ {
- if (current->type.stripWhiteSpace().right(1)!=yytext)
- {
- current->name += yytext ;
- }
+ current->name += yytext ;
addType( current );
}
<FindMembers,MemberSpec,Function,NextSemi,BitFields,ReadInitializer,OldStyleArgs>";"{BN}*("/**"|"//!"|"/*!"|"///")"<" {
@@ -4258,7 +4255,11 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
lastCurlyContext = FindMembers;
if ( *yytext == ',' )
{
- current->type = previous->type.data();
+ current->type = previous->type;
+ // we need to strip any trailing * and & (see bugs 623023 and 649103 for test cases)
+ int i=current->type.length();
+ while (i>0 && (current->type[i-1]=='*' || current->type[i-1]=='&' || current->type[i-1]==' ')) i--;
+ current->type = current->type.left(i);
}
if ( *yytext == '{' )
{