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 2001/02/27 17:49:44 UTC

cvs commit: xml-xalan/c/src/XPath XObjectFactoryDefault.cpp XObjectFactoryDefault.hpp

dbertoni    01/02/27 08:49:43

  Modified:    c/src/XPath XObjectFactoryDefault.cpp
                        XObjectFactoryDefault.hpp
  Log:
  Made static global XBooleans into instance members to solve thread-safety issues.
  
  Revision  Changes    Path
  1.21      +11 -7     xml-xalan/c/src/XPath/XObjectFactoryDefault.cpp
  
  Index: XObjectFactoryDefault.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactoryDefault.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- XObjectFactoryDefault.cpp	2001/01/17 16:57:35	1.20
  +++ XObjectFactoryDefault.cpp	2001/02/27 16:49:41	1.21
  @@ -78,11 +78,6 @@
   
   
   
  -static XBoolean		theTrueBoolean(true);
  -static XBoolean		theFalseBoolean(false);
  -
  -
  -
   XObjectFactoryDefault::XObjectFactoryDefault(
   			unsigned int	theXStringBlockSize,
   			unsigned int	theXNumberBlockSize,
  @@ -101,7 +96,9 @@
   	m_xobjects(),
   	m_xnumberCache(),
   	m_xnodesetCache(),
  -	m_XNull(new XNull)
  +	m_XNull(new XNull),
  +	m_xbooleanFalse(new XBoolean(false)),
  +	m_xbooleanTrue(new XBoolean(true))
   {
   }
   
  @@ -299,7 +296,14 @@
   XObjectFactoryDefault::createBoolean(
   			bool	theValue)
   {
  -	return XObjectPtr(theValue == true ? &theTrueBoolean : &theFalseBoolean);
  +	if (theValue == true)
  +	{
  +		return XObjectPtr(m_xbooleanTrue.get());
  +	}
  +	else
  +	{
  +		return XObjectPtr(m_xbooleanFalse.get());
  +	}
   }
   
   
  
  
  
  1.20      +6 -0      xml-xalan/c/src/XPath/XObjectFactoryDefault.hpp
  
  Index: XObjectFactoryDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactoryDefault.hpp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- XObjectFactoryDefault.hpp	2001/01/17 16:57:36	1.19
  +++ XObjectFactoryDefault.hpp	2001/02/27 16:49:41	1.20
  @@ -88,6 +88,7 @@
   
   #if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
   #include <XPath/XNull.hpp>
  +#include <XPath/XBoolean.hpp>
   #endif
   
   
  @@ -96,6 +97,7 @@
   
   
   
  +class XBoolean;
   class XNull;
   class XNumber;
   
  @@ -247,6 +249,10 @@
   	XNodeSetCacheType				m_xnodesetCache;
   
   	const XalanAutoPtr<XNull>		m_XNull;
  +
  +	const XalanAutoPtr<XBoolean>	m_xbooleanFalse;
  +
  +	const XalanAutoPtr<XBoolean>	m_xbooleanTrue;
   };