diff --git a/mozilla/extensions/xforms/nsXFormsXPathParser.cpp b/mozilla/extensions/xforms/nsXFormsXPathParser.cpp index 236548484bd..659daed7017 100644 --- a/mozilla/extensions/xforms/nsXFormsXPathParser.cpp +++ b/mozilla/extensions/xforms/nsXFormsXPathParser.cpp @@ -345,8 +345,9 @@ nsXFormsXPathParser::Expr() void nsXFormsXPathParser::FilterExpr() { - if (PrimaryExpr() && PeekToken() == nsXFormsXPathScanner::LBRACK) { - Predicate(); + PrimaryExpr(); + if (PeekToken() == nsXFormsXPathScanner::LBRACK) { + Predicate(); } } @@ -560,7 +561,8 @@ nsXFormsXPathParser::PathExpr() if (DoRelative()) { RelativeLocationPath(); } else { - XPathCompilerException("After / in a filter expression it is required to have a reletive path expression", EmptyString()); + XPathCompilerException("After / in a filter expression it is required to have a relative path expression", + EmptyString()); } } @@ -606,7 +608,7 @@ nsXFormsXPathParser::Predicate() RestartContext(); } -PRBool +void nsXFormsXPathParser::PrimaryExpr() { nsXFormsXPathScanner::XPATHTOKEN t = PeekToken(); @@ -640,14 +642,11 @@ nsXFormsXPathParser::PrimaryExpr() case nsXFormsXPathScanner::FUNCTIONNAME: FunctionCall(); - return PeekToken() == nsXFormsXPathScanner::SLASH || PeekToken() == nsXFormsXPathScanner::SLASHSLASH || PeekToken() == nsXFormsXPathScanner::LBRACK; break; default: XPathCompilerException("Not a primary expression", mScanner.Expression(), mScanner.Offset(), mScanner.Length()); } - - return PR_FALSE; } void @@ -825,14 +824,6 @@ nsXFormsXPathParser::UnionExpr() case nsXFormsXPathScanner::DOTDOT: case nsXFormsXPathScanner::SLASH: case nsXFormsXPathScanner::SLASHSLASH: - PathExpr(); - t = PeekToken(); - if (t == nsXFormsXPathScanner::UNION) { - PopToken(); - UnionExpr(); - } - break; - case nsXFormsXPathScanner::VARIABLE: case nsXFormsXPathScanner::LPARAN: case nsXFormsXPathScanner::LITERAL: diff --git a/mozilla/extensions/xforms/nsXFormsXPathParser.h b/mozilla/extensions/xforms/nsXFormsXPathParser.h index b73fcdcfe96..2f8aabc7baa 100644 --- a/mozilla/extensions/xforms/nsXFormsXPathParser.h +++ b/mozilla/extensions/xforms/nsXFormsXPathParser.h @@ -90,7 +90,7 @@ private: void OrExpr(); void PathExpr(); void Predicate(); - PRBool PrimaryExpr(); + void PrimaryExpr(); void RelationalExpression(); void RelativeLocationPath(); void Step();