]> Creatis software - gdcm.git/blobdiff - Testing/TestCopyDicom.cxx
ENH: Apply first patch toward better string comparison when dealing with broken DICOM...
[gdcm.git] / Testing / TestCopyDicom.cxx
index 9f781aefe9435db17a30a1062b3b6d1b2c3a9e7b..3689353aa348185eae3cc2f8269ff993caec710e 100644 (file)
@@ -9,6 +9,8 @@
 
 #ifndef _WIN32
 #include <unistd.h> //for access, unlink
+#else
+#include <io.h> //for _access on Win32
 #endif
 
 // return true if the file exists
@@ -64,10 +66,13 @@ int TestCopyDicom(int , char* [])
          }
       }
 
-      gdcmFile *original = new gdcmFile( filename );
-      gdcmFile *copy = new gdcmFile( output );
+      gdcm::File *original = new gdcm::File( filename );
+      gdcm::File *copy = new gdcm::File( output );
 
-      TagDocEntryHT & Ht = original->GetHeader()->GetEntry();
+      const gdcm::TagDocEntryHT & Ht = original->GetHeader()->GetTagHT();
+
+      size_t dataSize = original->GetImageDataSize();
+      uint8_t* imageData = original->GetImageData();
 
       //First of all copy the header field by field
   
@@ -76,21 +81,21 @@ int TestCopyDicom(int , char* [])
       // (the user does NOT have to know the way we implemented the Header !)
       // Waiting for a 'clean' solution, I keep the method ...JPRx
 
-      gdcmDocEntry* d;
+      gdcm::DocEntry* d;
 
-      for (TagDocEntryHT::iterator tag = Ht.begin(); tag != Ht.end(); ++tag)
+      for (gdcm::TagDocEntryHT::const_iterator tag = Ht.begin(); tag != Ht.end(); ++tag)
       {
          d = tag->second;
-         if ( gdcmBinEntry* b = dynamic_cast<gdcmBinEntry*>(d) )
+         if ( gdcm::BinEntry* b = dynamic_cast<gdcm::BinEntry*>(d) )
          {              
             copy->GetHeader()->ReplaceOrCreateByNumber( 
-                                 b->GetVoidArea(),
+                                 b->GetBinArea(),
                                  b->GetLength(),
                                  b->GetGroup(), 
                                  b->GetElement(),
                                  b->GetVR() );
          }
-         else if ( gdcmValEntry* v = dynamic_cast<gdcmValEntry*>(d) )
+         else if ( gdcm::ValEntry* v = dynamic_cast<gdcm::ValEntry*>(d) )
          {   
              copy->GetHeader()->ReplaceOrCreateByNumber( 
                                  v->GetValue(),
@@ -108,9 +113,6 @@ int TestCopyDicom(int , char* [])
          }
       }
 
-      size_t dataSize = original->GetImageDataSize();
-      void *imageData = original->GetImageData();
-
       copy->SetImageData(imageData, dataSize);
       original->GetHeader()->SetImageDataSize(dataSize);
 
@@ -119,7 +121,7 @@ int TestCopyDicom(int , char* [])
       delete original;
       delete copy;
 
-      copy = new gdcmFile( output );
+      copy = new gdcm::File( output );
 
       //Is the file written still gdcm parsable ?
       if ( !copy->GetHeader()->IsReadable() )