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 2003/10/24 01:13:55 UTC
cvs commit: xml-xalan/c/src/xalanc/XalanEXSLT XalanEXSLTMath.cpp
dbertoni 2003/10/23 16:13:55
Modified: c/src/xalanc/XalanEXSLT XalanEXSLTMath.cpp
Log:
Fixed bugs with clearing temp string, and with handling NaN edge cases.
Revision Changes Path
1.3 +26 -23 xml-xalan/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp
Index: XalanEXSLTMath.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XalanEXSLTMath.cpp 19 Sep 2003 21:05:33 -0000 1.2
+++ XalanEXSLTMath.cpp 23 Oct 2003 23:13:55 -0000 1.3
@@ -103,41 +103,44 @@
XalanNode* theCurrentNode = theNodeSet.item(0);
assert(theCurrentNode != 0);
- theNodes->addNode(theCurrentNode);
-
DOMServices::getNodeData(*theCurrentNode, theStringValue);
double theNumericValue = DOMStringToDouble(theStringValue);
- for (NodeRefListBase::size_type i = 1; i < theLength; ++i)
+ if (DoubleSupport::isNaN(theNumericValue) == false)
{
- theCurrentNode = theNodeSet.item(i);
- assert(theCurrentNode != 0);
+ theNodes->addNode(theCurrentNode);
- DOMServices::getNodeData(*theCurrentNode, theStringValue);
+ for (NodeRefListBase::size_type i = 1; i < theLength; ++i)
+ {
+ theCurrentNode = theNodeSet.item(i);
+ assert(theCurrentNode != 0);
- const double theCurrent = DOMStringToDouble(theStringValue);
+ theStringValue.clear();
- if (DoubleSupport::isNaN(theCurrent) == true)
- {
- theNodes->clear();
+ DOMServices::getNodeData(*theCurrentNode, theStringValue);
- break;
- }
- else if (DoubleSupport::equal(theCurrent, theNumericValue) == true)
- {
- theNodes->addNodeInDocOrder(theCurrentNode, executionContext);
- }
- else if (theCompareFunction(theCurrent, theNumericValue) == true)
- {
- theNodes->clear();
+ const double theCurrent = DOMStringToDouble(theStringValue);
- theNodes->addNode(theCurrentNode);
+ if (DoubleSupport::isNaN(theCurrent) == true)
+ {
+ theNodes->clear();
- theNumericValue = theCurrent;
- }
+ break;
+ }
+ else if (DoubleSupport::equal(theCurrent, theNumericValue) == true)
+ {
+ theNodes->addNodeInDocOrder(theCurrentNode, executionContext);
+ }
+ else if (theCompareFunction(theCurrent, theNumericValue) == true)
+ {
+ theNodes->clear();
- theStringValue.clear();
+ theNodes->addNode(theCurrentNode);
+
+ theNumericValue = theCurrent;
+ }
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org