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);
}
Header->IsDeflatedExplicitVRLittleEndianTransferSyntax() ) {
size_t ItemRead = fread(destination, Header->GetPixelAreaLength(), 1, fp);
-
if ( ItemRead != 1 ) {
Header->CloseFile();
return false;
// ---------------------- 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
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
}
// 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);