From 76cb66b7961950ae2abb59862bc039974fb9b937 Mon Sep 17 00:00:00 2001 From: malaterre Date: Wed, 2 Feb 2005 18:13:57 +0000 Subject: [PATCH] BUG: Try real bytes swapping formula... --- src/gdcmBinEntry.cxx | 8 +++++--- src/gdcmDocument.cxx | 6 +++--- src/gdcmUtil.cxx | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) 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); -- 2.48.1