tng         2002/08/20 10:27:10

  Modified:    c/src/xercesc/dom/impl DOMTreeWalkerImpl.cpp
  Log:
  [Bug 11515] Exponential time using DOMTreeWalker.  Patch from Benjamin Piwowarski.
  
  Revision  Changes    Path
  1.4       +4 -4      xml-xerces/c/src/xercesc/dom/impl/DOMTreeWalkerImpl.cpp
  
  Index: DOMTreeWalkerImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMTreeWalkerImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DOMTreeWalkerImpl.cpp     25 Jun 2002 20:08:39 -0000      1.3
  +++ DOMTreeWalkerImpl.cpp     20 Aug 2002 17:27:10 -0000      1.4
  @@ -360,7 +360,7 @@
       else
       if (accept == DOMNodeFilter::FILTER_SKIP) {
           DOMNode* fChild =  getFirstChild(newNode);
  -        if (!fChild) {
  +        if (!fChild && !newNode->hasChildNodes()) {
               return getNextSibling(newNode);
           }
           return fChild;
  @@ -402,7 +402,7 @@
       else
       if (accept == DOMNodeFilter::FILTER_SKIP) {
           DOMNode* fChild =  getLastChild(newNode);
  -        if (!fChild) {
  +        if (!fChild && !newNode->hasChildNodes()) {
               return getPreviousSibling(newNode);
           }
           return fChild;
  @@ -436,6 +436,7 @@
           return getFirstChild(newNode);
       }
       return getNextSibling(newNode);
  +    
   }
   
   
  @@ -463,7 +464,6 @@
           return getLastChild(newNode);
       }
       return getPreviousSibling(newNode);
  -
   
   }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to