]> Creatis software - gdcm.git/blobdiff - src/gdcmDataEntry.cxx
gdcm::Orientation uses RefCounter
[gdcm.git] / src / gdcmDataEntry.cxx
index 1fdb47e2d7563e75b3e3212f8f3aab257961c262..1ae42af4e01bd6a871cd76cd8d5e0f6adeac55a6 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDataEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/07 09:46:36 $
-  Version:   $Revision: 1.19 $
+  Date:      $Date: 2005/11/14 18:54:04 $
+  Version:   $Revision: 1.21 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -234,17 +234,19 @@ double DataEntry::GetValue(const uint32_t &id) const
  */
 bool DataEntry::IsValueCountValid() const
 {
-  bool valid;
   uint32_t vm;
   const std::string &strVM = GetVM();
   uint32_t vc = GetValueCount();
+  bool valid = vc == 0;
+  if( valid )
+    return true;
   
   // FIXME : what shall we do with VM = "2-n", "3-n", etc
   
   if( strVM == "1-n" )
   {
     // make sure there is at least one ??? FIXME
-    valid = vc >= 1 || vc == 0;
+    valid = vc >= 1;
   }
   else
   {
@@ -269,7 +271,7 @@ bool DataEntry::IsValueCountValid() const
     // Problem : entry type may depend on the modality and/or the Sequence
     //           it's embedded in !
     //          (Get the information in the 'Conformance Statements' ...)  
-    valid = vc == vm || vc == 0;
+    valid = vc == vm;
   }
   return valid;
 }
@@ -519,6 +521,7 @@ void DataEntry::WriteContent(std::ofstream *fp, FileType filetype)
          }     
          case 2:
          {
+gdcmDebugMacro ("AtomicLength = 2 found; lgt =" << l); 
             uint16_t *data16 = (uint16_t *)data;
             for(i=0;i<l/vrLgth;i++)
                binary_write( *fp, data16[i]);