Package: xalan Version: 1.10-1 Severity: normal Tags: patch xalan calls atan() EXSLT function when asked for atan2(), as in following demonstration:
$ cat tst.xsl <?xml version="1.0"?> <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:math="http://exslt.org/math" extension-element-prefixes="math" version="1.0"> <xsl:template match="/"> <xsl:value-of select="math:atan2(1,1)"/> </xsl:template> </xsl:transform> $ cat tst.xml <a/> $ xalan -xsl tst.xsl -in tst.xml XSLT Error: The EXSLT function 'atan' accepts one argument.Source tree node: #document. (file:///home/eugen/tst.xsl, line 8, column 43.) XSLException Type is: XSLTProcessorException Message is: The EXSLT function 'atan' accepts one argument. (file:///home/eugen/tst.xsl, line 8, column 43) $ Attached patch fixes this problem -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.16-rc1-me Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8 (charmap=UTF-8) Versions of packages xalan depends on: ii libc6 2.3.5-12.1 GNU C Library: Shared libraries an ii libgcc1 1:4.0.2-8 GCC support library ii libstdc++6 4.0.2-8 The GNU Standard C++ Library v3 ii libxalan110 1.10-1 Provides XSLT support for applicat ii libxerces27 2.7.0-1 validating XML parser library for xalan recommends no packages. -- no debconf information
diff -urpN xalan-1.10.orig/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp xalan-1.10/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp --- xalan-1.10.orig/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp 2005-06-14 22:49:49.000000000 +0300 +++ xalan-1.10/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp 2006-02-05 19:54:26.000000000 +0200 @@ -1460,7 +1460,7 @@ static const XalanEXSLTFunctionAbs static const XalanEXSLTFunctionAcos s_acosFunction; static const XalanEXSLTFunctionAsin s_asinFunction; static const XalanEXSLTFunctionAtan s_atanFunction; -static const XalanEXSLTFunctionAtan s_atan2Function; +static const XalanEXSLTFunctionAtan2 s_atan2Function; static const XalanEXSLTFunctionConstant s_constantFunction; static const XalanEXSLTFunctionCos s_cosFunction; static const XalanEXSLTFunctionExp s_expFunction;