]> Creatis software - gdcm.git/blobdiff - src/gdcmSeqEntry.cxx
COMP: Fix comp on gcc295
[gdcm.git] / src / gdcmSeqEntry.cxx
index 88e79a62d7d0b24fe71914870daee30b8b33bdc4..8ece4978a456d8d7a8526cee5e8b061a7d65e5de 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSeqEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/10/25 03:03:45 $
-  Version:   $Revision: 1.33 $
+  Date:      $Date: 2004/11/25 15:46:11 $
+  Version:   $Revision: 1.38 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -54,12 +54,13 @@ SeqEntry::SeqEntry( DictEntry* e )
 SeqEntry::SeqEntry( DocEntry* e, int depth )
              : DocEntry( e->GetDictEntry() )
 {
-   this->UsableLength = 0;
-   this->ReadLength   = 0xffffffff;
+   UsableLength = 0;
+   ReadLength   = 0xffffffff;
    SQDepthLevel = depth;
 
-   this->ImplicitVR   = e->IsImplicitVR();
-   this->Offset       = e->GetOffset();
+   ImplicitVR   = e->IsImplicitVR();
+   Offset       = e->GetOffset();
+   SeqTerm = NULL;
 }
 
 /**
@@ -84,6 +85,8 @@ void SeqEntry::Print( std::ostream &os )
 {
    // First, Print the Dicom Element itself.
    SetPrintLevel(2);   
+
+   os << "S ";
    DocEntry::Print(os);
    os << std::endl;
 
@@ -119,7 +122,7 @@ void SeqEntry::Print( std::ostream &os )
 /*
  * \brief   canonical Writer
  */
-void SeqEntry::Write(std::ofstream* fp, FileType filetype)
+void SeqEntry::WriteContent(std::ofstream* fp, FileType filetype)
 {
    uint16_t seq_term_gr = 0xfffe;
    uint16_t seq_term_el = 0xe0dd;
@@ -128,19 +131,19 @@ void SeqEntry::Write(std::ofstream* fp, FileType filetype)
    //uint16_t item_term_gr = 0xfffe;
    //uint16_t item_term_el = 0xe00d;
    
-   DocEntry::Write(fp, filetype);
+   DocEntry::WriteContent(fp, filetype);
    for(ListSQItem::iterator cc  = Items.begin();
                             cc != Items.end();
                           ++cc)
    {        
-      (*cc)->Write(fp, filetype);
+      (*cc)->WriteContent(fp, filetype);
    }
    
    // we force the writting of a Sequence Delimitation item
    // because we wrote the Sequence as a 'no Length' sequence
-   fp->write ( (char*)&seq_term_gr,(size_t)2 );
-   fp->write ( (char*)&seq_term_el,(size_t)2 );
-   fp->write ( (char*)&seq_term_lg,(size_t)4 );
+   binary_write(*fp, seq_term_gr);
+   binary_write(*fp, seq_term_el);
+   binary_write(*fp, seq_term_lg);
 }
 
 //-----------------------------------------------------------------------------