Hi,

       I've modified the semantic of StringList. At some point it was
modified to copy the pointer argument given. For instance:

         StringList::Append(String* foo) {
             List::Append(new String(*foo));
         }

       This would not be a problem if it was consistent with the List
semantic. Unfortunately it is not : List stores pointers without copying them.

       I suspect that this change was made when someone hacked HtWordCodec
since it was the only class that took advantage of this particular semantic.
All other usage of StringList (~60, all reviewed) assume the List semantic.

       This inconsistency caused memory leaks and was adressed in some places
but not all. I've checked every use of StringList and it's now clean and does
not leak.

       Please remember that StringList contains pointers on objects that
will be destroyed when the StringList object is destroyed. If you don't
want StringList to delete the objects, call StringList::Release before 
the object is deleted. This will empty the list and therefore preventing
their deletion.

       I ran *all* the regression test thru purify to make sure those 
modifications did not alter things in a hidden way. I also fixed a few minor
memory leaks.

        Cheers,

-- 
Loic   Dachary         http://www.dachary.org/  [EMAIL PROTECTED]
24 av Secretan         http://www.senga.org/      [EMAIL PROTECTED]
75019    Paris         Tel: 33 1 42 45 09 16        [EMAIL PROTECTED]

------------------------------------
To unsubscribe from the htdig3-dev mailing list, send a message to
[EMAIL PROTECTED] 
You will receive a message to confirm this. 


Reply via email to