- 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 << "No Entry found" << std::endl;
+ return;
+ }
+ while(d)
+ {
+ if ( DataEntry *v = dynamic_cast<DataEntry *>(d) )
+ {
+ if ( v->GetVM() != gdcm::GDCM_UNKNOWN )
+ if ( !CheckVM(v) )
+ {
+ std::cout << "Tag (" << v->GetKey()
+ << ")-> [" << v->GetName() << "] contains an illegal VM. "
+ << "value [" << v->GetString() << "] VR :"
+ << v->GetVR() << ", Expected VM :" << v->GetVM() << " "
+ << std::endl;
+ }
+
+ if ( v->GetReadLength() % 2 )