]> Creatis software - gdcm.git/commitdiff
* src/gdcmFile.cxx : bug fix concerning the close of file
authorregrain <regrain>
Mon, 19 Jan 2004 14:51:29 +0000 (14:51 +0000)
committerregrain <regrain>
Mon, 19 Jan 2004 14:51:29 +0000 (14:51 +0000)
     * src/gdcmParser.[h|cxx] : remove obvious Pub informations
     -- BeNours

ChangeLog
src/gdcmFile.cxx
src/gdcmParser.cxx
src/gdcmParser.h

index 9e14294f3344ffe2ecdc6abd4af5674095db01a9..0eeb087180cfbf24cbb0ecbefea713d1db4b6536 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-01-19 Benoit Regrain
+     * src/gdcmFile.cxx : bug fix concerning the close of file
+     * src/gdcmParser.[h|cxx] : remove obvious Pub informations
+
 2004-01-19 Benoit Regrain
     * removal of file gdcmHeader2.cxx
     * split class gdcmHeader into gdcmParser and gdcmHeader, with gdcmHeader
index 858ee0cb358f30cbe2cc8b1e9ecbd2e5d9ff29aa..581c5f4a4c0a1a926b3b55f857ec9cf04e971e16 100644 (file)
@@ -805,6 +805,8 @@ bool gdcmFile::ReadPixelData(void* destination) {
                  
        // Troubles expected on Big-Endian processors ?       
       }
+
+      Header->CloseFile();
       return(true);
    }        
 
@@ -828,8 +830,9 @@ bool gdcmFile::ReadPixelData(void* destination) {
 
    // ---------------------- Run Length Encoding
    if (Header->IsRLELossLessTransferSyntax()) {
-         bool res = (bool)gdcm_read_RLE_file (fp,destination);
-         return res; 
+      bool res = (bool)gdcm_read_RLE_file (fp,destination);
+      Header->CloseFile();
+      return res; 
    }  
     
    // --------------- SingleFrame/Multiframe JPEG Lossless/Lossy/2000 
@@ -855,7 +858,7 @@ bool gdcmFile::ReadPixelData(void* destination) {
    guint16 ItemTagGr,ItemTagEl;
    int ln;  
    
-      //  Position on begining of Jpeg Pixels
+   //  Position on begining of Jpeg Pixels
    
    fread(&ItemTagGr,2,1,fp);  // Reading (fffe) : Item Tag Gr
    fread(&ItemTagEl,2,1,fp);  // Reading (e000) : Item Tag El
@@ -882,7 +885,7 @@ bool gdcmFile::ReadPixelData(void* destination) {
    }
            
    // parsing fragments until Sequence Delim. Tag found
-   while (  ( ItemTagGr == 0xfffe) && (ItemTagEl != 0xe0dd) ) { 
+   while ( ( ItemTagGr == 0xfffe) && (ItemTagEl != 0xe0dd) ) { 
       // --- for each Fragment
 
       fread(&ln,4,1,fp); 
index dead892a71c58282fb6357a89fa9a80c90fd6d94..a1ce140712e90baceebca21f2b22d0382de08d29 100644 (file)
@@ -344,23 +344,6 @@ bool gdcmParser::CloseFile(void)
   return true;
 }
 
-/**
- * \ingroup gdcmParser
- * \brief   Parses the header of the file but WITHOUT loading element values.
- */
-void gdcmParser::Parse(bool exception_on_error) throw(gdcmFormatError) 
-{
-   gdcmHeaderEntry *newHeaderEntry = (gdcmHeaderEntry *)0;
-   
-   rewind(fp);
-   CheckSwap();
-   while ( (newHeaderEntry = ReadNextHeaderEntry()) ) 
-   {
-      SkipHeaderEntry(newHeaderEntry);
-      AddHeaderEntry(newHeaderEntry);
-   }
-}
-
 /**
  * \ingroup gdcmParser
  * \brief 
@@ -1085,6 +1068,23 @@ guint16 gdcmParser::SwapShort(guint16 a)
 
 //-----------------------------------------------------------------------------
 // Private
+/**
+ * \ingroup gdcmParser
+ * \brief   Parses the header of the file but WITHOUT loading element values.
+ */
+void gdcmParser::Parse(bool exception_on_error) throw(gdcmFormatError) 
+{
+   gdcmHeaderEntry *newHeaderEntry = (gdcmHeaderEntry *)0;
+   
+   rewind(fp);
+   CheckSwap();
+   while ( (newHeaderEntry = ReadNextHeaderEntry()) ) 
+   {
+      SkipHeaderEntry(newHeaderEntry);
+      AddHeaderEntry(newHeaderEntry);
+   }
+}
+
 /**
  * \ingroup gdcmParser
  * \brief   Loads the element values of all the Header Entries pointed in the
@@ -1093,8 +1093,8 @@ guint16 gdcmParser::SwapShort(guint16 a)
 void gdcmParser::LoadHeaderEntries(void) 
 {
    rewind(fp);
-   for (ListTag::iterator i = GetPubListEntry().begin();
-      i != GetPubListEntry().end();
+   for (ListTag::iterator i = GetListEntry().begin();
+      i != GetListEntry().end();
       ++i)
    {
          LoadHeaderEntry(*i);
index 61f125fa30683599865b11e53e14e083cfa04e6c..0984aa0722be5a594eaf7b3afa4e01ea88cbbd4d 100644 (file)
@@ -75,19 +75,18 @@ public:
     * \brief   returns a ref to the Dicom Header H table (multimap)
     * return the Dicom Header H table
     */
-   inline TagHeaderEntryHT &GetPubEntry(void) { return tagHT; };
+   inline TagHeaderEntryHT &GetEntry(void) { return tagHT; };
 
    /**
     * \ingroup gdcmHeader
     * \brief   returns a ref to the Dicom Header chained list
     * return the Dicom Header chained list
     */
-   inline ListTag &GetPubListEntry(void) { return listEntries; };
+   inline ListTag &GetListEntry(void) { return listEntries; };
 
 // Read (used in gdcmFile)
    FILE *OpenFile(bool exception_on_error = false) throw(gdcmFileError);
    bool CloseFile(void);
-   virtual void Parse(bool exception_on_error = false) throw(gdcmFormatError);
 
 // Write (used in gdcmFile)
    virtual bool Write(FILE *, FileType);
@@ -136,6 +135,8 @@ protected:
 
 private:
    // Read
+   void Parse(bool exception_on_error = false) throw(gdcmFormatError);
+
    void LoadHeaderEntries    (void);
    void LoadHeaderEntry      (gdcmHeaderEntry *);
    void AddHeaderEntry       (gdcmHeaderEntry *);