From e6d0dba36c73d522ea85388361d5c64d85b2b4eb Mon Sep 17 00:00:00 2001 From: Aleksej Efimov Date: Fri, 14 Jun 2013 15:14:49 +0400 Subject: [PATCH] 8015978: Incorrect transformation of XPath expression "string(-0)" Reviewed-by: darcy, joehw --- .../apache/xalan/internal/xsltc/runtime/BasisLibrary.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java index 554e1fd998d..a39c7854ed5 100644 --- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java +++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java @@ -952,9 +952,12 @@ public final class BasisLibrary { return result; } else { - if (Double.isNaN(d) || Double.isInfinite(d)) + if (!Double.isFinite(d)) return(Double.toString(d)); + //Convert -0.0 to +0.0 other values remains the same + d = d + 0.0; + // Use the XPath formatter to ignore locales StringBuffer result = threadLocalStringBuffer.get(); result.setLength(0);