dmitryh 2004/11/08 11:22:07
Modified: c/src/xalanc/XalanExtensions FunctionDifference.cpp
FunctionDifference.hpp FunctionDistinct.cpp
FunctionDistinct.hpp FunctionEvaluate.cpp
FunctionEvaluate.hpp FunctionHasSameNodes.cpp
FunctionHasSameNodes.hpp FunctionIntersection.cpp
FunctionIntersection.hpp FunctionNodeSet.cpp
FunctionNodeSet.hpp XalanExtensions.cpp
XalanExtensions.hpp
Log:
Initial implementation on the pluggable memory management
Revision Changes Path
1.6 +11 -6
xml-xalan/c/src/xalanc/XalanExtensions/FunctionDifference.cpp
Index: FunctionDifference.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionDifference.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FunctionDifference.cpp 26 Feb 2004 23:02:20 -0000 1.5
+++ FunctionDifference.cpp 8 Nov 2004 19:22:07 -0000 1.6
@@ -51,7 +51,10 @@
{
if (args.size() != 2)
{
- executionContext.error(getError(), context, locator);
+ XPathExecutionContext::GetAndReleaseCachedString
theGuard(executionContext);
+ XalanDOMString& theBuffer = theGuard.get();
+
+ executionContext.error(getError(theBuffer), context, locator);
}
assert(args[0].null() == false && args[1].null() == false);
@@ -91,17 +94,19 @@
#else
FunctionDifference*
#endif
-FunctionDifference::clone() const
+FunctionDifference::clone(MemoryManagerType& theManager) const
{
- return new FunctionDifference(*this);
+ return cloneFunction_0<FunctionDifference>()(theManager);;
}
-const XalanDOMString
-FunctionDifference::getError() const
+const XalanDOMString&
+FunctionDifference::getError(XalanDOMString& theResult) const
{
- return
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsTwoArguments_1Param,"difference()");
+
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsTwoArguments_1Param,theResult
, "difference()");
+
+ return theResult;
}
1.5 +3 -3
xml-xalan/c/src/xalanc/XalanExtensions/FunctionDifference.hpp
Index: FunctionDifference.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionDifference.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FunctionDifference.hpp 26 Feb 2004 23:02:20 -0000 1.4
+++ FunctionDifference.hpp 8 Nov 2004 19:22:07 -0000 1.5
@@ -64,12 +64,12 @@
#else
virtual FunctionDifference*
#endif
- clone() const;
+ clone(MemoryManagerType& theManager) const;
protected:
- const XalanDOMString
- getError() const;
+ virtual const XalanDOMString&
+ getError(XalanDOMString& theResult) const;
private:
1.7 +13 -8
xml-xalan/c/src/xalanc/XalanExtensions/FunctionDistinct.cpp
Index: FunctionDistinct.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionDistinct.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- FunctionDistinct.cpp 30 Sep 2004 22:28:10 -0000 1.6
+++ FunctionDistinct.cpp 8 Nov 2004 19:22:07 -0000 1.7
@@ -19,6 +19,7 @@
#include <xalanc/Include/XalanSet.hpp>
+#include <xalanc/Include/XalanMemMgrHelper.hpp>
#include <xalanc/XalanDOM/XalanDOMString.hpp>
@@ -38,7 +39,6 @@
#include <xalanc/XPath/XObjectFactory.hpp>
-
XALAN_CPP_NAMESPACE_BEGIN
@@ -64,7 +64,9 @@
{
if (args.size() != 1)
{
- executionContext.error(getError(), context, locator);
+ XPathExecutionContext::GetAndReleaseCachedString
theGuard(executionContext);
+
+ executionContext.error(getError(theGuard.get()), context,
locator);
}
assert(args[0].null() == false);
@@ -92,7 +94,7 @@
typedef XalanSet<XalanDOMString>
SetType;
- SetType theStrings;
+ SetType theStrings(executionContext.getMemoryManager());
// Check to make sure each node has a unique
// string value.
@@ -110,6 +112,7 @@
theStrings.insert(theCachedString);
}
+
clear(theCachedString);
}
}
@@ -126,18 +129,20 @@
#else
FunctionDistinct*
#endif
-FunctionDistinct::clone() const
+FunctionDistinct::clone(MemoryManagerType& theManager) const
{
- return new FunctionDistinct(*this);
+ return cloneFunction_1<FunctionDistinct>()(*this, theManager);
}
-const XalanDOMString
-FunctionDistinct::getError() const
+const XalanDOMString&
+FunctionDistinct::getError(XalanDOMString& theResult) const
{
- return
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsOneArgument_1Param,"distinct()");
+
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsOneArgument_1Param,
theResult, "distinct()");
+
+ return theResult;
}
1.5 +3 -3
xml-xalan/c/src/xalanc/XalanExtensions/FunctionDistinct.hpp
Index: FunctionDistinct.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionDistinct.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FunctionDistinct.hpp 26 Feb 2004 23:02:20 -0000 1.4
+++ FunctionDistinct.hpp 8 Nov 2004 19:22:07 -0000 1.5
@@ -64,12 +64,12 @@
#else
virtual FunctionDistinct*
#endif
- clone() const;
+ clone(MemoryManagerType& theManager) const;
protected:
- const XalanDOMString
- getError() const;
+ virtual const XalanDOMString&
+ getError(XalanDOMString& theResult) const;
private:
1.7 +20 -12
xml-xalan/c/src/xalanc/XalanExtensions/FunctionEvaluate.cpp
Index: FunctionEvaluate.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionEvaluate.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- FunctionEvaluate.cpp 26 Feb 2004 23:02:20 -0000 1.6
+++ FunctionEvaluate.cpp 8 Nov 2004 19:22:07 -0000 1.7
@@ -64,11 +64,11 @@
{
// $$$ ToDo: Consider moving all of this into a member function of
// XPathExecutionContext.
- XPathProcessorImpl theProcessor;
+ XPathProcessorImpl
theProcessor(executionContext.getMemoryManager());
- XPathConstructionContextDefault theConstructionContext;
+ XPathConstructionContextDefault
theConstructionContext(executionContext.getMemoryManager());
- XPath
theXPath(locator);
+ XPath
theXPath(executionContext.getMemoryManager(), locator);
theProcessor.initXPath(
theXPath,
@@ -93,9 +93,11 @@
assert(resolver == 0 || resolver->getNodeType() ==
XalanNode::ELEMENT_NODE);
#if defined(XALAN_OLD_STYLE_CASTS)
- ElementPrefixResolverProxy theProxy((const XalanElement*)resolver);
+ ElementPrefixResolverProxy
theProxy(executionContext.getMemoryManager(),
+ (const XalanElement*)resolver);
#else
- ElementPrefixResolverProxy theProxy(static_cast<const
XalanElement*>(resolver));
+ ElementPrefixResolverProxy
theProxy(executionContext.getMemoryManager(),
+ static_cast<const
XalanElement*>(resolver));
#endif
return doExecute(executionContext, context, expression, theProxy,
locator);
@@ -112,7 +114,9 @@
{
if (args.size() != 1)
{
- executionContext.error(getError(), context, locator);
+ XPathExecutionContext::GetAndReleaseCachedString
theString(executionContext);
+
+ executionContext.error(getError(theString.get()), context,
locator);
}
assert(args[0].null() == false);
@@ -136,8 +140,10 @@
if (context->getNodeType() != XalanNode::ELEMENT_NODE)
{
+ XPathExecutionContext::GetAndReleaseCachedString
theString(executionContext);
+
executionContext.warn(
-
XalanMessageLoader::getMessage(XalanMessages::NoPrefixResolverAvailable),
+
XalanMessageLoader::getMessage(XalanMessages::NoPrefixResolverAvailable,
theString.get()),
context,
locator);
@@ -156,17 +162,19 @@
#else
FunctionEvaluate*
#endif
-FunctionEvaluate::clone() const
+FunctionEvaluate::clone(MemoryManagerType& theManager) const
{
- return new FunctionEvaluate(*this);
+ return cloneFunction_1<FunctionEvaluate>()( *this, theManager);
}
-const XalanDOMString
-FunctionEvaluate::getError() const
+const XalanDOMString&
+FunctionEvaluate::getError(XalanDOMString& theResult) const
{
- return
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsOneArgument_1Param,"evaluate()");
+
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsOneArgument_1Param,theResult
, "evaluate()");
+
+ return theResult;
}
1.6 +3 -3
xml-xalan/c/src/xalanc/XalanExtensions/FunctionEvaluate.hpp
Index: FunctionEvaluate.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionEvaluate.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FunctionEvaluate.hpp 26 Feb 2004 23:02:20 -0000 1.5
+++ FunctionEvaluate.hpp 8 Nov 2004 19:22:07 -0000 1.6
@@ -64,12 +64,12 @@
#else
virtual FunctionEvaluate*
#endif
- clone() const;
+ clone(MemoryManagerType& theManager) const;
protected:
- const XalanDOMString
- getError() const;
+ virtual const XalanDOMString&
+ getError(XalanDOMString& theResult) const;
private:
1.6 +8 -6
xml-xalan/c/src/xalanc/XalanExtensions/FunctionHasSameNodes.cpp
Index: FunctionHasSameNodes.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionHasSameNodes.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FunctionHasSameNodes.cpp 26 Feb 2004 23:02:20 -0000 1.5
+++ FunctionHasSameNodes.cpp 8 Nov 2004 19:22:07 -0000 1.6
@@ -51,7 +51,9 @@
{
if (args.size() != 2)
{
- executionContext.error(getError(), context, locator);
+ XPathExecutionContext::GetAndReleaseCachedString
theGuard(executionContext);
+
+ executionContext.error(getError(theGuard.get()), context,
locator);
}
assert(args[0].null() == false && args[1].null() == false);
@@ -91,17 +93,17 @@
#else
FunctionHasSameNodes*
#endif
-FunctionHasSameNodes::clone() const
+FunctionHasSameNodes::clone(MemoryManagerType& theManager) const
{
- return new FunctionHasSameNodes(*this);
+ return cloneFunction_1<FunctionHasSameNodes>()(*this, theManager);
}
-const XalanDOMString
-FunctionHasSameNodes::getError() const
+const XalanDOMString&
+FunctionHasSameNodes::getError(XalanDOMString& theResult) const
{
- return
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsTwoArguments_1Param,"has-same-nodes()");
+ return
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsTwoArguments_1Param,
theResult, "has-same-nodes()");
}
1.5 +3 -3
xml-xalan/c/src/xalanc/XalanExtensions/FunctionHasSameNodes.hpp
Index: FunctionHasSameNodes.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionHasSameNodes.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FunctionHasSameNodes.hpp 26 Feb 2004 23:02:20 -0000 1.4
+++ FunctionHasSameNodes.hpp 8 Nov 2004 19:22:07 -0000 1.5
@@ -64,12 +64,12 @@
#else
virtual FunctionHasSameNodes*
#endif
- clone() const;
+ clone(MemoryManagerType& theManager) const;
protected:
- const XalanDOMString
- getError() const;
+ virtual const XalanDOMString&
+ getError(XalanDOMString& theResult) const;
private:
1.6 +10 -6
xml-xalan/c/src/xalanc/XalanExtensions/FunctionIntersection.cpp
Index: FunctionIntersection.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionIntersection.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FunctionIntersection.cpp 26 Feb 2004 23:02:20 -0000 1.5
+++ FunctionIntersection.cpp 8 Nov 2004 19:22:07 -0000 1.6
@@ -51,7 +51,9 @@
{
if (args.size() != 2)
{
- executionContext.error(getError(), context, locator);
+ XalanDOMString theResult(executionContext.getMemoryManager());
+
+ executionContext.error(getError(theResult), context, locator);
}
assert(args[0].null() == false && args[1].null() == false);
@@ -88,17 +90,19 @@
#else
FunctionIntersection*
#endif
-FunctionIntersection::clone() const
+FunctionIntersection::clone(MemoryManagerType& theManager) const
{
- return new FunctionIntersection(*this);
+ return cloneFunction_1<FunctionIntersection>()( *this, theManager);
}
-const XalanDOMString
-FunctionIntersection::getError() const
+const XalanDOMString&
+FunctionIntersection::getError(XalanDOMString& theResult) const
{
- return
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsTwoArguments_1Param,"intersection()");
+
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsTwoArguments_1Param,theResult,
"intersection()");
+
+ return theResult;
}
1.5 +3 -3
xml-xalan/c/src/xalanc/XalanExtensions/FunctionIntersection.hpp
Index: FunctionIntersection.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionIntersection.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FunctionIntersection.hpp 26 Feb 2004 23:02:20 -0000 1.4
+++ FunctionIntersection.hpp 8 Nov 2004 19:22:07 -0000 1.5
@@ -64,12 +64,12 @@
#else
virtual FunctionIntersection*
#endif
- clone() const;
+ clone(MemoryManagerType& theManager) const;
protected:
- const XalanDOMString
- getError() const;
+ virtual const XalanDOMString&
+ getError(XalanDOMString& theResult) const;
private:
1.7 +39 -33
xml-xalan/c/src/xalanc/XalanExtensions/FunctionNodeSet.cpp
Index: FunctionNodeSet.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionNodeSet.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- FunctionNodeSet.cpp 26 Feb 2004 23:02:20 -0000 1.6
+++ FunctionNodeSet.cpp 8 Nov 2004 19:22:07 -0000 1.7
@@ -35,15 +35,31 @@
{
public:
- XalanDocumentFragmentXNodeSetBaseProxy(const XObjectPtr&
theXObject) :
- XNodeSetBase(),
+ XalanDocumentFragmentXNodeSetBaseProxy(MemoryManagerType& theManager,
const XObjectPtr& theXObject) :
+ XNodeSetBase(theManager),
m_xobject(theXObject),
m_proxy(theXObject->rtree())
{
}
- XalanDocumentFragmentXNodeSetBaseProxy(const
XalanDocumentFragmentXNodeSetBaseProxy& theSource) :
- XNodeSetBase(theSource),
+ static XalanDocumentFragmentXNodeSetBaseProxy*
+ create(MemoryManagerType& theManager, const XObjectPtr& theXObject)
+ {
+ typedef XalanDocumentFragmentXNodeSetBaseProxy ThisType;
+
+ XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager ,
(ThisType*)theManager.allocate(sizeof(ThisType)));
+
+ ThisType* theResult = theGuard.get();
+
+ new (theResult) ThisType(theManager, theXObject );
+
+ theGuard.release();
+
+ return theResult;
+ }
+
+ XalanDocumentFragmentXNodeSetBaseProxy(MemoryManagerType& theManager,
const XalanDocumentFragmentXNodeSetBaseProxy& theSource) :
+ XNodeSetBase(theSource, theManager),
m_xobject(theSource.m_xobject),
m_proxy(theSource.m_proxy)
{
@@ -54,23 +70,6 @@
{
}
- // These methods are inherited from XNodeSetBase...
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
- virtual XObject*
-#else
- virtual XalanDocumentFragmentXNodeSetBaseProxy*
-#endif
- clone(void* theAddress = 0) const
- {
- if (theAddress == 0)
- {
- return new
XalanDocumentFragmentXNodeSetBaseProxy(*this);
- }
- else
- {
- return new (theAddress)
XalanDocumentFragmentXNodeSetBaseProxy(*this);
- }
- }
virtual const NodeRefListBase&
nodeset() const
@@ -127,7 +126,9 @@
{
if (args.size() != 1)
{
- executionContext.error(getError(), context, locator);
+ XalanDOMString theResult(executionContext.getMemoryManager());
+
+ executionContext.error(getError(theResult), context, locator);
}
assert(args[0].null() == false);
@@ -137,12 +138,14 @@
if (theType == XObject::eTypeResultTreeFrag ||
(theType == XObject::eTypeString && m_convertString == true))
{
- return XObjectPtr(new
XalanDocumentFragmentXNodeSetBaseProxy(args[0]));
+ return
XObjectPtr(XalanDocumentFragmentXNodeSetBaseProxy::create(executionContext.getMemoryManager(),
args[0]));
}
else
- {
+ {
+ XalanDOMString theResult(executionContext.getMemoryManager());
+
executionContext.warn(
- getInvalidArgumentTypeError(),
+ getInvalidArgumentTypeError(theResult),
context,
locator);
@@ -157,26 +160,29 @@
#else
FunctionNodeSet*
#endif
-FunctionNodeSet::clone() const
+FunctionNodeSet::clone(MemoryManagerType& theManager) const
{
- return new FunctionNodeSet(*this);
+ return cloneFunction_1<FunctionNodeSet>()( *this, theManager);
}
-const XalanDOMString
-FunctionNodeSet::getError() const
+const XalanDOMString&
+FunctionNodeSet::getError(XalanDOMString& theResult) const
{
+
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsOneArgument_1Param,
theResult ,"nodeset()");
- return
XalanMessageLoader::getMessage(XalanMessages::FunctionAcceptsOneArgument_1Param,"nodeset()");
+ return theResult;
}
-const XalanDOMString
-FunctionNodeSet::getInvalidArgumentTypeError() const
+const XalanDOMString&
+FunctionNodeSet::getInvalidArgumentTypeError(XalanDOMString& theResult) const
{
- return
XalanMessageLoader::getMessage(XalanMessages::InvalidArgumentTypeFunction_1Param,"nodeset()");
+
XalanMessageLoader::getMessage(XalanMessages::InvalidArgumentTypeFunction_1Param,
theResult, "nodeset()");
+
+ return theResult;
}
1.5 +5 -5
xml-xalan/c/src/xalanc/XalanExtensions/FunctionNodeSet.hpp
Index: FunctionNodeSet.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionNodeSet.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FunctionNodeSet.hpp 26 Feb 2004 23:02:20 -0000 1.4
+++ FunctionNodeSet.hpp 8 Nov 2004 19:22:07 -0000 1.5
@@ -73,15 +73,15 @@
#else
virtual FunctionNodeSet*
#endif
- clone() const;
+ clone(MemoryManagerType& theManager) const;
protected:
- virtual const XalanDOMString
- getError() const;
+ virtual const XalanDOMString&
+ getError(XalanDOMString& theResult) const;
- virtual const XalanDOMString
- getInvalidArgumentTypeError() const;
+ virtual const XalanDOMString&
+ getInvalidArgumentTypeError(XalanDOMString& theResult) const;
private:
1.5 +14 -12
xml-xalan/c/src/xalanc/XalanExtensions/XalanExtensions.cpp
Index: XalanExtensions.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/XalanExtensions.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XalanExtensions.cpp 26 Feb 2004 23:02:20 -0000 1.4
+++ XalanExtensions.cpp 8 Nov 2004 19:22:07 -0000 1.5
@@ -212,9 +212,9 @@
void
-XalanExtensionsInstaller::installGlobal()
+XalanExtensionsInstaller::installGlobal(MemoryManagerType& theManager)
{
- doInstallGlobal(s_extensionsNamespace, theFunctionTable);
+ doInstallGlobal( theManager, s_extensionsNamespace, theFunctionTable);
}
@@ -228,9 +228,9 @@
void
-XalanExtensionsInstaller::uninstallGlobal()
+XalanExtensionsInstaller::uninstallGlobal(MemoryManagerType& theManager)
{
- doUninstallGlobal(s_extensionsNamespace, theFunctionTable);
+ doUninstallGlobal(theManager, s_extensionsNamespace, theFunctionTable);
}
@@ -243,8 +243,8 @@
{
assert(theNamespace != 0);
- const XalanDOMString theNamespaceString(theNamespace);
- XalanDOMString theFunctionName;
+ const XalanDOMString theNamespaceString(theNamespace,
theSupport.getMemoryManager());
+ XalanDOMString theFunctionName(
theSupport.getMemoryManager());
for(const FunctionTableEntry* theEntry = theFunctionTable;
theEntry->theFunctionName != 0; ++theEntry)
{
@@ -260,13 +260,14 @@
void
XalanExtensionsInstaller::doInstallGlobal(
+ MemoryManagerType& theManager,
const XalanDOMChar* theNamespace,
const FunctionTableEntry theFunctionTable[])
{
assert(theNamespace != 0);
- const XalanDOMString theNamespaceString(theNamespace);
- XalanDOMString theFunctionName;
+ const XalanDOMString theNamespaceString(theNamespace, theManager);
+ XalanDOMString theFunctionName(theManager);
for(const FunctionTableEntry* theEntry = theFunctionTable;
theEntry->theFunctionName != 0; ++theEntry)
{
@@ -288,8 +289,8 @@
{
assert(theNamespace != 0);
- const XalanDOMString theNamespaceString(theNamespace);
- XalanDOMString theFunctionName;
+ const XalanDOMString theNamespaceString(theNamespace,
theSupport.getMemoryManager());
+ XalanDOMString
theFunctionName(theSupport.getMemoryManager());
for(const FunctionTableEntry* theEntry = theFunctionTable;
theEntry->theFunctionName != 0; ++theEntry)
{
@@ -303,13 +304,14 @@
void
XalanExtensionsInstaller::doUninstallGlobal(
+ MemoryManagerType& theManager,
const XalanDOMChar* theNamespace,
const FunctionTableEntry theFunctionTable[])
{
assert(theNamespace != 0);
- const XalanDOMString theNamespaceString(theNamespace);
- XalanDOMString theFunctionName;
+ const XalanDOMString theNamespaceString(theNamespace, theManager);
+ XalanDOMString theFunctionName(theManager);
for(const FunctionTableEntry* theEntry = theFunctionTable;
theEntry->theFunctionName != 0; ++theEntry)
{
1.5 +4 -2
xml-xalan/c/src/xalanc/XalanExtensions/XalanExtensions.hpp
Index: XalanExtensions.hpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/XalanExtensions.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XalanExtensions.hpp 26 Feb 2004 23:02:20 -0000 1.4
+++ XalanExtensions.hpp 8 Nov 2004 19:22:07 -0000 1.5
@@ -50,13 +50,13 @@
installLocal(XPathEnvSupportDefault& theSupport);
static void
- installGlobal();
+ installGlobal(MemoryManagerType& theManager);
static void
uninstallLocal(XPathEnvSupportDefault& theSupport);
static void
- uninstallGlobal();
+ uninstallGlobal(MemoryManagerType& theManager);
protected:
@@ -68,6 +68,7 @@
static void
doInstallGlobal(
+ MemoryManagerType& theManager,
const XalanDOMChar* theNamespace,
const FunctionTableEntry theFunctionTable[]);
@@ -79,6 +80,7 @@
static void
doUninstallGlobal(
+ MemoryManagerType& theManager,
const XalanDOMChar* theNamespace,
const FunctionTableEntry theFunctionTable[]);
};
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]