]> Creatis software - gdcm.git/blobdiff - src/gdcmDocEntry.cxx
Add verbosity when trouble occur.
[gdcm.git] / src / gdcmDocEntry.cxx
index 8c117fb0a714cd921c2392d95bef24df95d96ea7..e54f0c987178fd52aa5ab66949aa38102c15ad04 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/10/18 12:58:28 $
-  Version:   $Revision: 1.71 $
+  Date:      $Date: 2005/10/20 15:24:09 $
+  Version:   $Revision: 1.75 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -39,12 +39,24 @@ DocEntry::DocEntry(DictEntry *in)
 {
    ImplicitVR = false;
    DicomDict  = in;
-   SetKey( in->GetKey( ) );
    Offset     = 0 ; // To avoid further missprinting
 
    // init some variables
    ReadLength = 0;
    Length = 0;
+
+   gdcmAssertMacro(DicomDict);
+   DicomDict->Register();
+}
+
+/**
+ * \brief   Destructor from a given DictEntry
+ */
+DocEntry::~DocEntry()
+{
+   gdcmAssertMacro(DicomDict);
+
+   DicomDict->Unregister();
 }
 
 //-----------------------------------------------------------------------------
@@ -76,7 +88,7 @@ void DocEntry::WriteContent(std::ofstream *fp, FileType filetype)
    binary_write( *fp, el);    //element number
 
    // Dicom V3 group 0x0002 is *always* Explicit VR !
-   if ( filetype == ExplicitVR || group == 0x0002 )
+   if ( filetype == ExplicitVR || filetype == JPEG || group == 0x0002 )
    {
       // Special case of delimiters:
       if (group == 0xfffe)
@@ -239,7 +251,7 @@ void DocEntry::Print(std::ostream &os, std::string const & )
    o  = GetOffset();
    vr = GetVR();
    if ( vr == GDCM_VRUNKNOWN )
-      vr="  ";
+      vr = "  ";
 
    s << DictEntry::TranslateToKey(GetGroup(),GetElement());