Branch for OS/390 reference release.
diff --git a/src/XalanTransformer/XalanTransformer.cpp b/src/XalanTransformer/XalanTransformer.cpp
index 3355ddd..23fbc8f 100644
--- a/src/XalanTransformer/XalanTransformer.cpp
+++ b/src/XalanTransformer/XalanTransformer.cpp
@@ -225,14 +225,43 @@
{
// Terminate Xalan and release memory.
#if defined(XALAN_CANNOT_DELETE_CONST)
- (XSLTInit*) s_xsltInit;
+ delete (XSLTInit*) s_xsltInit;
#else
delete s_xsltInit;
#endif
s_xsltInit = 0;
+ const XalanDOMString theXalanNamespace(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("http://xml.apache.org/xalan")));
+
+ XalanTransformer::uninstallExternalFunctionGlobal(
+ theXalanNamespace,
+ StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("difference")));
+
+ XalanTransformer::uninstallExternalFunctionGlobal(
+ theXalanNamespace,
+ StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("distinct")));
+
+ XalanTransformer::uninstallExternalFunctionGlobal(
+ theXalanNamespace,
+ StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("evaluate")));
+
+ XalanTransformer::uninstallExternalFunctionGlobal(
+ theXalanNamespace,
+ StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("hasSameNodes")));
+
+ XalanTransformer::uninstallExternalFunctionGlobal(
+ theXalanNamespace,
+ StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("intersection")));
+
+ XalanTransformer::uninstallExternalFunctionGlobal(
+ theXalanNamespace,
+ StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("nodeset")));
+
#if defined(XALAN_USE_ICU)
+ XPath::uninstallFunction(
+ StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("format-number")));
+
#if defined(XALAN_CANNOT_DELETE_CONST)
delete (ICUBridgeCollationCompareFunctor*)theICUFunctor;
#else
@@ -1024,7 +1053,7 @@
m_parsedSources.erase(i);
#if defined(XALAN_CANNOT_DELETE_CONST)
- delete (XalanCompiledStylesheet*) theParsedSource;
+ delete (XalanParsedSource*) theParsedSource;
#else
delete theParsedSource;
#endif