-// gdcmDict.cxx
-//-----------------------------------------------------------------------------
+/*=========================================================================
+
+ Program: gdcm
+ Module: $RCSfile: gdcmDict.cxx,v $
+ Language: C++
+ Date: $Date: 2004/06/22 13:47:33 $
+ Version: $Revision: 1.37 $
+
+ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+ l'Image). All rights reserved. See Doc/License.txt or
+ http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
#include "gdcmDict.h"
#include "gdcmUtil.h"
#include "gdcmDebug.h"
#include <iostream>
#include <iomanip>
-#ifdef GDCM_NO_ANSI_STRING_STREAM
-# include <strstream>
-# define ostringstream ostrstream
-# else
-# include <sstream>
-#endif
-
//-----------------------------------------------------------------------------
// Constructor / Destructor
/**
*/
gdcmDict::gdcmDict(std::string & FileName) {
guint16 group, element;
- char buff[1024];
+ //char buff[1024];
TagName vr;
TagName fourth;
TagName name;
FileName.c_str());
while (!from.eof()) {
- from >> std::hex >> group >> element;
- eatwhite(from);
- from.getline(buff, 256, ' ');
- vr = buff;
- eatwhite(from);
- from.getline(buff, 256, ' ');
- fourth = buff;
- from.getline(buff, 256, '\n');
- name = buff;
+ from >> std::hex;
+ from >> group; /// MEMORY LEAK in std::istream::operator>>
+ from >> element;
+ from >> vr;
+ from >> fourth;
+ eatwhite(from);
+ getline(from, name); /// MEMORY LEAK in std::getline<>
gdcmDictEntry * newEntry = new gdcmDictEntry(group, element,
vr, fourth, name);
else
{
KeyHt[NewEntry->GetKey()] = NewEntry;
- NameHt[NewEntry->GetName()] = NewEntry;
+ NameHt[NewEntry->GetName()] = NewEntry; /// MEMORY LEAK in
+ /// std::map<>::operator[]
return(true);
}
}