mmidy 00/03/27 12:45:14
Modified: src/org/apache/xalan/xpath Tag: Bxalan_1_0_0
XPathProcessorImpl.java
Log:
Fix multiplication and division in XPATH expression
Revision Changes Path
No revision
No revision
1.26.2.3 +5 -5
xml-xalan/src/org/apache/xalan/xpath/XPathProcessorImpl.java
Index: XPathProcessorImpl.java
===================================================================
RCS file:
/home/cvs/xml-xalan/src/org/apache/xalan/xpath/XPathProcessorImpl.java,v
retrieving revision 1.26.2.2
retrieving revision 1.26.2.3
diff -u -r1.26.2.2 -r1.26.2.3
--- XPathProcessorImpl.java 2000/03/17 02:57:37 1.26.2.2
+++ XPathProcessorImpl.java 2000/03/27 20:45:10 1.26.2.3
@@ -1551,17 +1551,17 @@
if(tokenIs('*'))
{
nextToken();
- insertOp(opPos, 2, XPath.OP_MULT);
+ insertOp(addPos, 2, XPath.OP_MULT);
int opPlusLeftHandLen = m_xpath.m_opMap[XPath.MAPINDEX_LENGTH] -
addPos;
addPos = MultiplicativeExpr(addPos);
m_xpath.m_opMap[addPos + XPath.MAPINDEX_LENGTH]
= m_xpath.m_opMap[addPos+opPlusLeftHandLen+1] + opPlusLeftHandLen;
- addPos+=2;
+ addPos+=2;
}
else if(tokenIs("div"))
{
nextToken();
- insertOp(opPos, 2, XPath.OP_DIV);
+ insertOp(addPos, 2, XPath.OP_DIV);
int opPlusLeftHandLen = m_xpath.m_opMap[XPath.MAPINDEX_LENGTH] -
addPos;
addPos = MultiplicativeExpr(addPos);
m_xpath.m_opMap[addPos + XPath.MAPINDEX_LENGTH]
@@ -1571,7 +1571,7 @@
else if(tokenIs("mod"))
{
nextToken();
- insertOp(opPos, 2, XPath.OP_MOD);
+ insertOp(addPos, 2, XPath.OP_MOD);
int opPlusLeftHandLen = m_xpath.m_opMap[XPath.MAPINDEX_LENGTH] -
addPos;
addPos = MultiplicativeExpr(addPos);
m_xpath.m_opMap[addPos + XPath.MAPINDEX_LENGTH]
@@ -1581,7 +1581,7 @@
else if(tokenIs("quo"))
{
nextToken();
- insertOp(opPos, 2, XPath.OP_QUO);
+ insertOp(addPos, 2, XPath.OP_QUO);
int opPlusLeftHandLen = m_xpath.m_opMap[XPath.MAPINDEX_LENGTH] -
addPos;
addPos = MultiplicativeExpr(addPos);
m_xpath.m_opMap[addPos + XPath.MAPINDEX_LENGTH]