]> Creatis software - gdcm.git/blobdiff - src/gdcmValidator.cxx
STYLE: Remove old comments
[gdcm.git] / src / gdcmValidator.cxx
index 3b9ac39b3fb51330b5fd6846cc13c6efa01ac2ae..c62079f121911fc4aa85c3d1940f08468068cac9 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmValidator.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/06/14 20:33:54 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2005/06/24 10:55:59 $
+  Version:   $Revision: 1.4 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -21,6 +21,8 @@
 #include "gdcmBinEntry.h"
 #include "gdcmValEntry.h"
 
+#include <sstream>
+
 namespace gdcm 
 {
 
@@ -38,13 +40,16 @@ bool CheckVM(ValEntry *v)
 {
   const std::string &s = v->GetValue();
   std::string::size_type n = s.find("\\");
-  if (n == s.npos) // none found
-    {
+  if ( n == s.npos ) // none found
+  {
     n = 0;
-    }
-  n++; //poteaux / intervalles
+  }
+  n++; // number of '\' + 1 == Value Multiplicity
 
-  unsigned int m = atoi(v->GetVM().c_str());
+  unsigned int m;
+  std::istringstream os;
+  os.str( v->GetVM());
+  os >> m;
 
   return n == m;
 }
@@ -54,30 +59,30 @@ void Validator::SetInput(ElementSet *input)
   // berk for now SetInput do two things at the same time
   gdcm::DocEntry *d=input->GetFirstEntry();
   while(d)
-    {
+  {
     if ( gdcm::BinEntry *b = dynamic_cast<gdcm::BinEntry*>(d) )
-      {
+    {
 //      copyH->InsertBinEntry( b->GetBinArea(),b->GetLength(),
 //        b->GetGroup(),b->GetElement(),
 //        b->GetVR() );
         (void)b;
-      }
+    }
     else if ( gdcm::ValEntry *v = dynamic_cast<gdcm::ValEntry*>(d) )
-      {   
-      if( !CheckVM(v))
-        {
-      std::cout << "Rah this DICOM contains one wrong tag:" << 
+    {   
+      if ( !CheckVM(v) )
+      {
+        std::cout << "Rah this DICOM contains one wrong tag:" << 
         v->GetValue() << " " <<
         v->GetGroup() << "," << v->GetElement() << "," <<
         v->GetVR() << " " << v->GetVM() << " " << v->GetName() << std::endl;
-        }
       }
+    }
     else
-      {
+    {
       // We skip pb of SQ recursive exploration
-      }
-      d=input->GetNextEntry();
     }
+      d=input->GetNextEntry();
+  }
 }
 
 } // end namespace gdcm