X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FgdcmBinEntry.cxx;h=62dfc3da21187abba740a477138e853116e160bf;hb=5fd74f0089a19d2146c1916f55f0225901940154;hp=85738b68e34a85391f409b7b64e4bbfbd1063835;hpb=8cb0bec310a0ac61e68ded4308db8b8a2386bdf3;p=gdcm.git diff --git a/src/gdcmBinEntry.cxx b/src/gdcmBinEntry.cxx index 85738b68..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:34:42 $ - Version: $Revision: 1.49 $ + 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); @@ -137,16 +133,16 @@ void BinEntry::WriteContent(std::ofstream *fp, FileType filetype) // TODO FIXME : Maybe we should allocate somewhere a static buffer, // in order not to have to alloc/delete for almost every BinEntry ... - uint16_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 {