diff options
Diffstat (limited to 'src/template.cpp')
-rw-r--r-- | src/template.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/template.cpp b/src/template.cpp index 4250f08..5102978 100644 --- a/src/template.cpp +++ b/src/template.cpp @@ -1978,16 +1978,13 @@ class ExpressionParser TRACE(("{parseLiteral(%s)\n",m_curToken.id.data())); ExprAst *expr = new ExprAstLiteral(m_curToken.id); getNextToken(); - if (expr) + while (m_curToken.type==ExprToken::Operator && + m_curToken.op==Operator::Filter) { - while (m_curToken.type==ExprToken::Operator && - m_curToken.op==Operator::Filter) - { - getNextToken(); - ExprAstFilter *filter = parseFilter(); - if (!filter) break; - expr = new ExprAstFilterAppl(expr,filter); - } + getNextToken(); + ExprAstFilter *filter = parseFilter(); + if (!filter) break; + expr = new ExprAstFilterAppl(expr,filter); } TRACE(("}parseLiteral()\n")); return expr; |