From: malaterre Date: Wed, 2 Feb 2005 18:13:57 +0000 (+0000) Subject: BUG: Try real bytes swapping formula... X-Git-Tag: Version1.0.bp~100 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=76cb66b7961950ae2abb59862bc039974fb9b937;p=gdcm.git BUG: Try real bytes swapping formula... --- diff --git a/src/gdcmBinEntry.cxx b/src/gdcmBinEntry.cxx index 5707b614..85882a7a 100644 --- a/src/gdcmBinEntry.cxx +++ b/src/gdcmBinEntry.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmBinEntry.cxx,v $ Language: C++ - Date: $Date: 2005/02/02 17:47:56 $ - Version: $Revision: 1.63 $ + Date: $Date: 2005/02/02 18:13:57 $ + Version: $Revision: 1.64 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -103,7 +103,9 @@ void BinEntry::WriteContent(std::ofstream *fp, FileType filetype) { for (int i = 0; i < BUFFER_SIZE/2; i++) { - buffer[i] = (binArea16[i] >> 8) | (binArea16[i] << 8); + //buffer[i] = (binArea16[i] >> 8) | (binArea16[i] << 8); + uint16_t val = binArea16[i]; + buffer[i] = ((( val << 8 ) & 0xff00 ) | (( val >> 8 ) & 0x00ff ) ); } fp->write ( (char*)buffer, BUFFER_SIZE ); binArea16 += BUFFER_SIZE/2; diff --git a/src/gdcmDocument.cxx b/src/gdcmDocument.cxx index 8c0ddc3c..fe7bf473 100644 --- a/src/gdcmDocument.cxx +++ b/src/gdcmDocument.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDocument.cxx,v $ Language: C++ - Date: $Date: 2005/02/02 16:18:48 $ - Version: $Revision: 1.220 $ + Date: $Date: 2005/02/02 18:13:57 $ + Version: $Revision: 1.221 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -352,7 +352,7 @@ uint16_t Document::SwapShort(uint16_t a) { if ( SwapCode == 4321 || SwapCode == 2143 ) { - a = ((( a << 8 ) & 0x0ff00 ) | (( a >> 8 ) & 0x00ff ) ); + a = ((( a << 8 ) & 0xff00 ) | (( a >> 8 ) & 0x00ff ) ); } return a; } diff --git a/src/gdcmUtil.cxx b/src/gdcmUtil.cxx index 485a8a15..8ff06805 100644 --- a/src/gdcmUtil.cxx +++ b/src/gdcmUtil.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmUtil.cxx,v $ Language: C++ - Date: $Date: 2005/02/02 15:07:41 $ - Version: $Revision: 1.130 $ + Date: $Date: 2005/02/02 18:13:57 $ + Version: $Revision: 1.131 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -829,7 +829,7 @@ std::ostream &binary_write(std::ostream &os, const uint16_t &val) { #ifdef GDCM_WORDS_BIGENDIAN uint16_t swap; - swap = ((( val << 8 ) & 0x0ff00 ) | (( val >> 8 ) & 0x00ff ) ); + swap = ((( val << 8 ) & 0xff00 ) | (( val >> 8 ) & 0x00ff ) ); return os.write(reinterpret_cast(&swap), 2); #else return os.write(reinterpret_cast(&val), 2);