X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmBinEntry.cxx;h=62dfc3da21187abba740a477138e853116e160bf;hb=5fd74f0089a19d2146c1916f55f0225901940154;hp=35bdf16a8a535d7bc6462e9242283c10db17634c;hpb=575572bc10483ad3116ad7fb73197fa2c3f2ee34;p=gdcm.git diff --git a/src/gdcmBinEntry.cxx b/src/gdcmBinEntry.cxx index 35bdf16a..62dfc3da 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/01/14 17:33:24 $ - Version: $Revision: 1.48 $ + Date: $Date: 2005/01/19 15:58:00 $ + Version: $Revision: 1.54 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -45,10 +45,6 @@ BinEntry::BinEntry(DictEntry *e) : ValEntry(e) BinEntry::BinEntry(DocEntry *e) : ValEntry(e->GetDictEntry()) { Copy(e); -/* Length = e->GetLength(); - ReadLength = e->GetReadLength(); - ImplicitVR = e->IsImplicitVR(); - Offset = e->GetOffset();*/ //FIXME //SQDepthLevel = e->GetDepthLevel(); @@ -76,7 +72,7 @@ BinEntry::~BinEntry() * \brief canonical Printer */ -void BinEntry::Print(std::ostream &os) +void BinEntry::Print(std::ostream &os, std::string const & ) { os << "B "; DocEntry::Print(os); @@ -133,20 +129,20 @@ void BinEntry::WriteContent(std::ofstream *fp, FileType filetype) // -value forced while Reading process- if (GetGroup() == 0x7fe0 && GetVR() == "OW") { - unit16_t *currPosition = (uint16_t *)binArea; + uint16_t *currPosition = (uint16_t *)binArea; // TODO FIXME : Maybe we should allocate somewhere a static buffer, // in order not to have to alloc/delete for almost every BinEntry ... - unit16_t *buffer = new uint16[BUFFER_SIZE]; + uint16_t *buffer = new uint16_t[BUFFER_SIZE]; // how many BUFFER_SIZE long pieces in binArea ? int nbPieces = lgr/BUFFER_SIZE/2; //(16 bits = 2 Bytes) + uint16_t *binArea16 = (uint16_t*)binArea; for (int j=0;j> 8 - | (uint16_t *)binArea[i] << 8; + buffer[i] = (binArea16[i] >> 8) | (binArea16[i] << 8); } fp->write ( (char*)currPosition, BUFFER_SIZE ); currPosition += BUFFER_SIZE/2; @@ -156,7 +152,7 @@ void BinEntry::WriteContent(std::ofstream *fp, FileType filetype) { fp->write ( (char*)currPosition, remainingSize ); } - delete buffer; + delete[] buffer; } else {