summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/pre.l15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/pre.l b/src/pre.l
index 460c97e..5492d15 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -1194,6 +1194,20 @@ QCString removeIdsAndMarkers(const char *s)
p++;
inNum=TRUE;
}
+ else if (c=='\'') // quoted character
+ {
+ result+=c;
+ p++;
+ char pc=c;
+ while ((c=*p) && (c!='\'' || pc=='\\'))
+ {
+ result+=c;
+ pc=c;
+ p++;
+ }
+ result+=c;
+ p++;
+ }
else if (c=='d' && !inNum) // identifier starting with a `d'
{
if (qstrncmp(p,"defined ",8)==0 || qstrncmp(p,"defined(",8)==0)
@@ -2199,6 +2213,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN(DefinedExpr1);
}
<Guard>{ID} { g_guardExpr+=yytext; }
+<Guard>"@" { g_guardExpr+="@@"; }
<Guard>. { g_guardExpr+=*yytext; }
<Guard>\n {
unput(*yytext);