<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1458" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Afin d'offrir une utilisation plus simple, j'ai mis
la copie des données binaires dans la méthode</FONT></DIV>
<DIV><FONT face=Arial size=2>ReplaceOrCreateByNumber. Désormais, tous les
ReplaceOrCreateByNumber fonctionnement</FONT></DIV>
<DIV><FONT face=Arial size=2>de la même manière en copiant les données passées
en entrée.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Désolé d'avoir cassé le test TestCopyDicom sous
linux.</FONT></DIV>
<DIV><FONT face=Arial size=2>Coté Windows, si quelqu'un a une idée pour que ce
test passe, je suis preneur. Il semble que</FONT></DIV>
<DIV><FONT face=Arial size=2>le problème soit lié à la Hash Table
récupérée.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Benoit</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=jm.rouet@noos.fr href="mailto:jm.rouet@noos.fr">Jean-Michel Rouet</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=dcmlib@creatis.insa-lyon.fr
href="mailto:dcmlib@creatis.insa-lyon.fr">dcmlib@creatis.insa-lyon.fr</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, November 16, 2004 9:54
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> [Dcmlib] Amélioration des Memory
leak</DIV>
<DIV><BR></DIV>
<DIV><FONT face=Arial size=2>Pour TestCopyDicom.cxx voici un petit patch qui
devrait regler l'affaire:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2><A
href="mailto:rouet@vanoise:~/src/gdcm/Test$">rouet@vanoise:~/src/gdcm/Test$</A>
cvs diff -u TestCopyDicom.cxx<BR>Index:
TestCopyDicom.cxx<BR>===================================================================<BR>RCS
file: /cvs/public/gdcm/Test/TestCopyDicom.cxx,v<BR>retrieving revision
1.16<BR>diff -u -r1.16 TestCopyDicom.cxx<BR>--- TestCopyDicom.cxx
16 Nov 2004 04:28:20 -0000 1.16<BR>+++
TestCopyDicom.cxx 16 Nov 2004 20:51:07 -0000<BR>@@ -91,6 +91,7
@@<BR> size_t dataSize =
original->GetImageDataSize();<BR>
uint8_t* imageData = original->GetImageData();</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>+<BR> //First
of all copy the header field by field</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> // Warning
:Accessor gdcmElementSet::GetEntry() should not exist<BR>@@ -105,8 +106,13
@@<BR> d =
tag->second;<BR> if (
gdcm::BinEntry* b = dynamic_cast<gdcm::BinEntry*>(d)
)<BR>
{<BR>+
uint8_t* copybin = new
uint8_t[b->GetLength()];<BR>+
if
(b->GetBinArea())<BR>+
memcpy(copybin,b->GetBinArea(),
b->GetLength());<BR>+
else<BR>+
copybin =
0;<BR>
copy->GetHeader()->ReplaceOrCreateByNumber(<BR>-
b->GetBinArea(),<BR>+
copybin,<BR>
b->GetLength(),<BR>
b->GetGroup(),<BR>
b->GetElement(),<BR>@@ -130,7 +136,6
@@<BR>
}<BR> }</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>-
copy->SetImageData(imageData,
dataSize);<BR>
original->GetHeader()->SetImageDataSize(dataSize);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>
copy->WriteDcmExplVR( output );<BR>@@ -147,6 +152,7
@@<BR> std::cout
<< output << " Failed" <<
std::endl;<BR>
}<BR>
i++;<BR>+ delete copy;<BR>
}<BR> return retVal;<BR> }</FONT></DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>Dcmlib mailing
list<BR>Dcmlib@creatis.insa-lyon.fr<BR>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib<BR></BLOCKQUOTE></BODY></HTML>