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;
   };
   
   
  
  
  

Reply via email to