X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDict.cxx;h=32cc12467410975dd91ebb1ae9c0f8dd8fa22977;hb=e06d61ba347d7f5f692a682434e089d939f85653;hp=8b42624d8924da9e841ddcf64e8d2b393c451ded;hpb=e8be02129ece7a8c7dd90307a8c83e1ef5d157b6;p=gdcm.git diff --git a/src/gdcmDict.cxx b/src/gdcmDict.cxx index 8b42624d..32cc1246 100644 --- a/src/gdcmDict.cxx +++ b/src/gdcmDict.cxx @@ -1,11 +1,12 @@ +// gdcmDict.cxx + #include -#include "gdcmlib.h" +#include "gdcm.h" #include "gdcmUtil.h" -gdcmDict::gdcmDict(char * FileName) { +gdcmDict::gdcmDict(const char* FileName) { std::ifstream from(FileName); - dbg.Error(!from, "gdcmDictSet::gdcmDictSet:", - "can't open dictionary"); + dbg.Error(!from, "gdcmDict::gdcmDict: can't open dictionary", FileName); guint16 group, element; // CLEANME : use defines for all those constants char buff[1024]; @@ -38,8 +39,14 @@ void gdcmDict::Print(ostream& os) { } } +// renvoie une ligne de Dictionnaire Dicom à partir de (numGroup, numElement) + gdcmDictEntry * gdcmDict::GetTag(guint32 group, guint32 element) { TagKey key = gdcmDictEntry::TranslateToKey(group, element); - TagHT::iterator found = entries.find(key); - return found->second; + if ( ! entries.count(key)) + return (gdcmDictEntry*)0; + if (entries.count(key) > 1) + dbg.Verbose(0, "gdcmDict::GetTag", + "multiple entries for this key (FIXME) !"); + return entries.find(key)->second; }