(file) Return to List.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/List.cpp between version 1.1.2.2 and 1.1.2.3

version 1.1.2.2, 2006/06/30 02:52:01 version 1.1.2.3, 2006/06/30 19:40:54
Line 71 
Line 71 
  
     if (_destructor)     if (_destructor)
     {     {
         for (Linkable* p = _front; p; )          // Reset _front, _back, and _size so that if this is called back,
           // there will be nothing to delete.
   
           Linkable* front = _front;
           Linkable* back = _back;
           size_t size= _size;
   
           _front = 0;
           _back = 0;
           _size = 0;
   
           for (Linkable* p = front; p; )
         {         {
             PEGASUS_LIST_ASSERT(p->magic == PEGASUS_LINKABLE_MAGIC);             PEGASUS_LIST_ASSERT(p->magic == PEGASUS_LINKABLE_MAGIC);
             Linkable* next = p->next;             Linkable* next = p->next;
             _destructor(p);             _destructor(p);
             p = next;             p = next;
         }         }
   
         _front = 0;  
         _back = 0;  
         _size = 0;  
     }     }
 } }
  


Legend:
Removed from v.1.1.2.2  
changed lines
  Added in v.1.1.2.3

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2