summaryrefslogtreecommitdiffstats
path: root/src/pre.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/pre.l')
-rw-r--r--src/pre.l25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/pre.l b/src/pre.l
index da9c8f3..fdaee6f 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -761,7 +761,7 @@ static inline void addTillEndOfString(const QCString &expr,QCString *rest,
uint &pos,char term,QCString &arg)
{
int cc;
- while ((cc=getNextChar(expr,rest,pos))!=EOF)
+ while ((cc=getNextChar(expr,rest,pos))!=EOF && cc!=0)
{
if (cc=='\\') arg+=(char)cc,cc=getNextChar(expr,rest,pos);
else if (cc==term) return;
@@ -804,7 +804,7 @@ static bool replaceFunctionMacro(const QCString &expr,QCString *rest,int pos,int
// PHASE 1: read the macro arguments
if (def->nargs==0)
{
- while ((cc=getNextChar(expr,rest,j))!=EOF)
+ while ((cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
{
char c = (char)cc;
if (c==')') break;
@@ -813,7 +813,7 @@ static bool replaceFunctionMacro(const QCString &expr,QCString *rest,int pos,int
else
{
while (!done && (argCount<def->nargs || def->varArgs) &&
- ((cc=getNextChar(expr,rest,j))!=EOF)
+ ((cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
)
{
char c=(char)cc;
@@ -822,7 +822,7 @@ static bool replaceFunctionMacro(const QCString &expr,QCString *rest,int pos,int
int level=1;
arg+=c;
//char term='\0';
- while ((cc=getNextChar(expr,rest,j))!=EOF)
+ while ((cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
{
char c=(char)cc;
//printf("processing %c: term=%c (%d)\n",c,term,term);
@@ -871,14 +871,14 @@ static bool replaceFunctionMacro(const QCString &expr,QCString *rest,int pos,int
{
arg+=c;
bool found=FALSE;
- while (!found && (cc=getNextChar(expr,rest,j))!=EOF)
+ while (!found && (cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
{
found = cc=='"';
if (cc=='\\')
{
c=(char)cc;
arg+=c;
- if ((cc=getNextChar(expr,rest,j))==EOF) break;
+ if ((cc=getNextChar(expr,rest,j))==EOF || cc==0) break;
}
c=(char)cc;
arg+=c;
@@ -888,14 +888,14 @@ static bool replaceFunctionMacro(const QCString &expr,QCString *rest,int pos,int
{
arg+=c;
bool found=FALSE;
- while (!found && (cc=getNextChar(expr,rest,j))!=EOF)
+ while (!found && (cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
{
found = cc=='\'';
if (cc=='\\')
{
c=(char)cc;
arg+=c;
- if ((cc=getNextChar(expr,rest,j))==EOF) break;
+ if ((cc=getNextChar(expr,rest,j))==EOF || cc==0) break;
}
c=(char)cc;
arg+=c;
@@ -2498,12 +2498,6 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
outputArray(yytext,yyleng);
BEGIN(CondLine);
}
-<SkipCComment,SkipCPPComment>[\\@]"condnot"[ \t]+ { // conditional section
- guardType = Guard_CondNot;
- g_condCtx = YY_START;
- outputArray(yytext,(int)yyleng);
- BEGIN(CondLine);
- }
<CondLine>[!()&| \ta-z_A-Z0-9.\-]+ {
startCondSection(yytext);
outputArray(yytext,(int)yyleng);
@@ -2558,6 +2552,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<CopyCComment>\n {
g_yyLineNr++;
+ outputChar('\n');
g_defLitText+=yytext;
g_defText+=' ';
}
@@ -2809,7 +2804,7 @@ static int getNextChar(const QCString &expr,QCString *rest,uint &pos)
else
{
int cc=yyinput();
- //printf("%c=yyinput()\n",cc);
+ //printf("%d=yyinput() %d\n",cc,EOF);
return cc;
}
}