]> Creatis software - gdcm.git/blobdiff - src/gdcmDict.cxx
* Adaptation for porting to VC++:
[gdcm.git] / src / gdcmDict.cxx
index 8b42624d8924da9e841ddcf64e8d2b393c451ded..3514749ecbbc4dee8eb260bfbb0e3e49377379ed 100644 (file)
@@ -1,11 +1,10 @@
 #include <fstream>
-#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];
@@ -40,6 +39,10 @@ void gdcmDict::Print(ostream& os) {
 
 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;
 }