dbertoni    00/09/27 09:39:36

  Modified:    c/src/XPath FunctionNormalize.hpp SimpleNodeLocator.cpp
                        XObject.cpp XPathExecutionContext.hpp
  Log:
  Output transcoding support.
  
  Revision  Changes    Path
  1.7       +1 -1      xml-xalan/c/src/XPath/FunctionNormalize.hpp
  
  Index: FunctionNormalize.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionNormalize.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- FunctionNormalize.hpp     2000/09/05 02:24:50     1.6
  +++ FunctionNormalize.hpp     2000/09/27 16:39:34     1.7
  @@ -161,7 +161,7 @@
                        thePreviousChar = theCurrentChar;
                }
   
  -             if (isSpace(theVector.back()) == true)
  +             if (theVector.empty() == false && isSpace(theVector.back()) == 
true)
                {
                        // The last character is a space, so remove it
                        theVector.pop_back();
  
  
  
  1.24      +9 -12     xml-xalan/c/src/XPath/SimpleNodeLocator.cpp
  
  Index: SimpleNodeLocator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/SimpleNodeLocator.cpp,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- SimpleNodeLocator.cpp     2000/09/19 14:55:53     1.23
  +++ SimpleNodeLocator.cpp     2000/09/27 16:39:34     1.24
  @@ -410,15 +410,12 @@
   
                        opPos += 3;
   
  -                     XalanNode* const        docContext =
  -                             XalanNode::DOCUMENT_NODE == 
localContext->getNodeType() ? 
  -                                                             localContext : 
localContext->getOwnerDocument();
  +                     const XalanNode::NodeType       nodeType = 
localContext->getNodeType();
   
  -                     score = docContext == localContext ? 
xpath.s_MatchScoreOther : xpath.s_MatchScoreNone;
  -
  -                     if(score == xpath.s_MatchScoreOther)
  +                     if (nodeType == XalanNode::DOCUMENT_NODE ||
  +                             nodeType == XalanNode::DOCUMENT_FRAGMENT_NODE)
                        {
  -                             localContext = docContext;
  +                             score = XPath::s_MatchScoreOther;
                        }
                }
                break;
  @@ -567,11 +564,11 @@
                        XalanNode*                              localContext, 
                        int                                     startOpPos)
   {
  -                     // We have an index somewhere in our pattern.  So, we 
have 
  -                     // to do a full search for our step, using the parent 
as 
  -                     // localContext, then see if the current localContext 
is found in the 
  -                     // node set.  Seems crazy, but, so far, it seems like 
the 
  -                     // easiest way.
  +     // We have an index somewhere in our pattern.  So, we have 
  +     // to do a full search for our step, using the parent as 
  +     // localContext, then see if the current localContext is found in the 
  +     // node set.  Seems crazy, but, so far, it seems like the 
  +     // easiest way.
        executionContext.setThrowFoundIndex(false);
   
        XalanNode* const        parentContext =
  
  
  
  1.12      +1 -2      xml-xalan/c/src/XPath/XObject.cpp
  
  Index: XObject.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObject.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- XObject.cpp       2000/09/19 14:56:06     1.11
  +++ XObject.cpp       2000/09/27 16:39:35     1.12
  @@ -916,8 +916,7 @@
   
   
   bool
  -XObject::notEquals(
  -                     const XObject&  theRHS) const
  +XObject::notEquals(const XObject&    theRHS) const
   {
        if (this == &theRHS)
        {
  
  
  
  1.23      +1 -12     xml-xalan/c/src/XPath/XPathExecutionContext.hpp
  
  Index: XPathExecutionContext.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContext.hpp,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- XPathExecutionContext.hpp 2000/09/19 14:56:36     1.22
  +++ XPathExecutionContext.hpp 2000/09/27 16:39:35     1.23
  @@ -468,7 +468,7 @@
                        assert(m_mutableNodeRefList != 0);
                }
   
  -#if defined(XALAN_CANNOT_MUTATE_ANONYMOUS_OBJECT)
  +             // N.B. Non-const copy constructor semantics (like 
std::auto_ptr)
                BorrowReturnMutableNodeRefList(const 
BorrowReturnMutableNodeRefList&    theSource) :
                        
m_xpathExecutionContext(theSource.m_xpathExecutionContext),
                        m_mutableNodeRefList(theSource.m_mutableNodeRefList)
  @@ -477,17 +477,6 @@
   
                        
((BorrowReturnMutableNodeRefList&)theSource).m_mutableNodeRefList = 0;
                }
  -#else
  -             // N.B. Non-const copy constructor semantics (like 
std::auto_ptr)
  -             BorrowReturnMutableNodeRefList(BorrowReturnMutableNodeRefList&  
theSource) :
  -                     
m_xpathExecutionContext(theSource.m_xpathExecutionContext),
  -                     m_mutableNodeRefList(theSource.m_mutableNodeRefList)
  -             {
  -                     assert(m_mutableNodeRefList != 0);
  -
  -                     theSource.m_mutableNodeRefList = 0;
  -             }
  -#endif
   
                ~BorrowReturnMutableNodeRefList()
                {
  
  
  

Reply via email to