]> Creatis software - gdcm.git/blobdiff - src/gdcmFile.cxx
- ANSIfy gdcmDicomDir.cxx
[gdcm.git] / src / gdcmFile.cxx
index 858ee0cb358f30cbe2cc8b1e9ecbd2e5d9ff29aa..328845eaebdb129d2aaa08c969ff110f6645fd20 100644 (file)
@@ -799,12 +799,14 @@ bool gdcmFile::ReadPixelData(void* destination) {
          fread(&b2,1,1,fp);      
          //Two steps is necessary to please VC++
          *pdestination++ =  ((b0 >> 4) << 8) + ((b0 & 0x0f) << 4) + (b1 & 0x0f);
-                             /* A */          /* B */            /* D */
+                              /* A */            /* B */             /* D */
          *pdestination++ =  ((b2 & 0x0f) << 8) + ((b1 >> 4) << 4) + (b2 >> 4);
-                             /* F */          /* C */            /* E */
+                             /* F */               /* C */           /* E */
                  
        // Troubles expected on Big-Endian processors ?       
       }
+
+      Header->CloseFile();
       return(true);
    }        
 
@@ -816,7 +818,6 @@ bool gdcmFile::ReadPixelData(void* destination) {
         Header->IsDeflatedExplicitVRLittleEndianTransferSyntax() ) {
 
       size_t ItemRead = fread(destination, Header->GetPixelAreaLength(), 1, fp);
-      
       if ( ItemRead != 1 ) {
          Header->CloseFile();
          return false;
@@ -828,8 +829,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 +857,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 +884,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);