X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.cxx;h=328845eaebdb129d2aaa08c969ff110f6645fd20;hb=b1cbd2d3c12ccac8b257901236fe8eb27a20b117;hp=858ee0cb358f30cbe2cc8b1e9ecbd2e5d9ff29aa;hpb=bafdfafe6c1b30607035fc4018c0405169b348e8;p=gdcm.git diff --git a/src/gdcmFile.cxx b/src/gdcmFile.cxx index 858ee0cb..328845ea 100644 --- a/src/gdcmFile.cxx +++ b/src/gdcmFile.cxx @@ -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);