You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2001/01/18 19:51:00 UTC
cvs commit: xml-xalan/c/src/XPath XPathProcessorImpl.cpp
dbertoni 01/01/18 10:51:00
Modified: c/src/XPath XPathProcessorImpl.cpp
Log:
Fixed bug in LocationPathPattern(). Changed intialization of args vector.
Revision Changes Path
1.29 +8 -21 xml-xalan/c/src/XPath/XPathProcessorImpl.cpp
Index: XPathProcessorImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathProcessorImpl.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- XPathProcessorImpl.cpp 2001/01/08 18:28:25 1.28
+++ XPathProcessorImpl.cpp 2001/01/18 18:50:59 1.29
@@ -1741,10 +1741,8 @@
{
const int newOpPos = m_expression->opCodeMapLength();
- XPathExpression::OpCodeMapValueVectorType theArgs(1, 0);
-
// Tell how long the step is without the predicate
- theArgs[0] = 4;
+ const XPathExpression::OpCodeMapValueVectorType theArgs(1, 4);
m_expression->appendOpCode(XPathExpression::eFROM_ROOT,
theArgs);
@@ -1799,11 +1797,8 @@
{
error("'..[predicate]' or '.[predicate]' is illegal syntax. Use 'self::node()[predicate]' instead.");
}
-
- XPathExpression::OpCodeMapValueVectorType theArgs(1, 0);
- // Tell how long the step is without the predicate
- theArgs[0] = 4;
+ const XPathExpression::OpCodeMapValueVectorType theArgs(1, 4);
m_expression->appendOpCode(XPathExpression::eFROM_SELF,
theArgs);
@@ -1814,10 +1809,8 @@
{
nextToken();
- XPathExpression::OpCodeMapValueVectorType theArgs(1, 0);
-
// Tell how long the step is without the predicate
- theArgs[0] = 4;
+ const XPathExpression::OpCodeMapValueVectorType theArgs(1, 4);
m_expression->appendOpCode(XPathExpression::eFROM_PARENT,
theArgs);
@@ -1876,10 +1869,8 @@
// by a regular step pattern.
// if(lookahead(XalanUnicode::charCommercialAt, 1) == true || lookahead("::", 2) == true)
{
- XPathExpression::OpCodeMapValueVectorType theArgs(1, 0);
-
// Tell how long the step is without the predicate
- theArgs[0] = 4;
+ const XPathExpression::OpCodeMapValueVectorType theArgs(1, 4);
m_expression->appendOpCode(XPathExpression::eFROM_DESCENDANTS_OR_SELF,
theArgs);
@@ -2189,8 +2180,8 @@
// These token s_functionKeyString should not be here, as it is really
// part of the XSLT standard, and not the XPATH standard.
if(lookahead(XalanUnicode::charLeftParenthesis, 1) == true &&
- tokenIs(s_functionIDString) == true ||
- tokenIs(s_functionKeyString) == true)
+ (tokenIs(s_functionIDString) == true ||
+ tokenIs(s_functionKeyString) == true))
{
IdKeyPattern();
@@ -2198,10 +2189,8 @@
{
const int newOpPos = m_expression->opCodeMapLength();
- XPathExpression::OpCodeMapValueVectorType theArgs(1, 0);
-
// Tell how long the step is without the predicate
- theArgs[0] = 4;
+ const XPathExpression::OpCodeMapValueVectorType theArgs(1, 4);
m_expression->appendOpCode(XPathExpression::eMATCH_ANY_ANCESTOR_WITH_PREDICATE,
theArgs);
@@ -2217,10 +2206,8 @@
{
const int newOpPos = m_expression->opCodeMapLength();
- XPathExpression::OpCodeMapValueVectorType theArgs(1, 0);
-
// Tell how long the step is without the predicate
- theArgs[0] = 4;
+ const XPathExpression::OpCodeMapValueVectorType theArgs(1, 4);
if(lookahead(XalanUnicode::charSolidus, 1) == true)
{