]> Creatis software - gdcm.git/commitdiff
* src/gdcmDict.cxx, gdcmElValSet.cxx : bug fix under windows for prints.
authorregrain <regrain>
Tue, 13 Jan 2004 11:13:07 +0000 (11:13 +0000)
committerregrain <regrain>
Tue, 13 Jan 2004 11:13:07 +0000 (11:13 +0000)
       It's lied to the stl compilation by MSVC (windows, always windows...)
     -- BeNours

ChangeLog
gdcm.dsw
src/gdcmDict.cxx
src/gdcmElValSet.cxx
src/gdcmHeader.cxx
src/win32/gdcmdll.dsp

index d0d21731b09ade34d4989120a9ae87e1c670367a..ca945d84739a76caa127df1dadc9e439089bba39 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2004-01-13 Benoit Regrain
      * gdcmPython/testSuite.py : test the readable flag of file for tests
+     * src/gdcmDict.cxx, gdcmElValSet.cxx : bug fix under windows for prints.
+       It's lied to the stl compilation by MSVC (windows, always windows...)
 
 2004-01-12 Benoit Regrain
      * src/*.h : add comments
index c5ab6945a0d859419e6ff68d21a7d11567a04a07..fa57c94efc89a8099da3bfce50d8b193d47655c7 100644 (file)
--- a/gdcm.dsw
+++ b/gdcm.dsw
-Microsoft Developer Studio Workspace File, Format Version 6.00\r
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
-\r
-###############################################################################\r
-\r
-Project: "_vtkGdcm"=.\GDCMPYTHON\WIN32\_vtkGdcm.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmljpeg\r
-    End Project Dependency\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmijpeg8\r
-    End Project Dependency\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmijpeg12\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "gdcmdll"=.\src\win32\gdcmdll.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmljpeg\r
-    End Project Dependency\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmijpeg8\r
-    End Project Dependency\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmijpeg12\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "gdcmpyembedded"=.\gdcmPython\win32\gdcmpyembedded.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmljpeg\r
-    End Project Dependency\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmijpeg8\r
-    End Project Dependency\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmijpeg12\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "gdcmtest"=.\TEST\WIN32\gdcmtest\gdcmtest.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name gdcmdll\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "libgdcmijpeg12"=.\SRC\WIN32\libgdcmijpeg12.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "libgdcmijpeg8"=.\SRC\WIN32\libgdcmijpeg8.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "libgdcmljpeg"=.\SRC\WIN32\libgdcmljpeg.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "vtkGdcmTest"=.\VTK\WIN32\vtkGdcmTest.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name vtkgdcm\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "vtkgdcm"=.\VTK\WIN32\vtkgdcm.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmljpeg\r
-    End Project Dependency\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmijpeg8\r
-    End Project Dependency\r
-    Begin Project Dependency\r
-    Project_Dep_Name libgdcmijpeg12\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Global:\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<3>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "_vtkGdcm"=.\GDCMPYTHON\WIN32\_vtkGdcm.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name libgdcmljpeg
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libgdcmijpeg8
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libgdcmijpeg12
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "gdcmTest"=.\TEST\WIN32\gdcmTest.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name gdcmdll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "gdcmdll"=.\src\win32\gdcmdll.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name libgdcmljpeg
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libgdcmijpeg8
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libgdcmijpeg12
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "gdcmpyembedded"=.\gdcmPython\win32\gdcmpyembedded.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name libgdcmljpeg
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libgdcmijpeg8
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libgdcmijpeg12
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "libgdcmijpeg12"=.\SRC\WIN32\libgdcmijpeg12.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "libgdcmijpeg8"=.\SRC\WIN32\libgdcmijpeg8.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "libgdcmljpeg"=.\SRC\WIN32\libgdcmljpeg.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "vtkGdcmTest"=.\VTK\WIN32\vtkGdcmTest.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name vtkgdcm
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "vtkgdcm"=.\VTK\WIN32\vtkgdcm.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name libgdcmljpeg
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libgdcmijpeg8
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libgdcmijpeg12
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
index 25de9bba0d7bd277b6c53caa0bc34d37a1c6893a..bba44f7983da40b2adbb417ac47fa81b29a11865 100644 (file)
@@ -3,6 +3,12 @@
 #include "gdcmDict.h"
 #include "gdcmUtil.h"
 #include <fstream>
+#ifdef GDCM_NO_ANSI_STRING_STREAM
+#  include <strstream>
+#  define  ostringstream ostrstream
+# else
+#  include <sstream>
+#endif
 
 /**
  * \ingroup gdcmDict
@@ -73,14 +79,17 @@ void gdcmDict::Print(std::ostream& os) {
  * @param   os The output stream to be written to.
  */
 void gdcmDict::PrintByKey(std::ostream& os) {
+   std::ostringstream s;
+
    for (TagKeyHT::iterator tag = KeyHt.begin(); tag != KeyHt.end(); ++tag){
-      os << "Tag : ";
-      os << "(" << std::hex << tag->second->GetGroup() << ',';
-      os << std::hex << tag->second->GetElement() << ") = " << std::dec;
-      os << tag->second->GetVR() << ", ";
-      os << tag->second->GetFourth() << ", ";
-      os << tag->second->GetName() << "."  << std::endl;
+      s << "Tag : ";
+      s << "(" << std::hex << tag->second->GetGroup() << ',';
+      s << std::hex << tag->second->GetElement() << ") = " << std::dec;
+      s << tag->second->GetVR() << ", ";
+      s << tag->second->GetFourth() << ", ";
+      s << tag->second->GetName() << "."  << std::endl;
    }
+   os << s.str();
 }
 
 /**
@@ -90,14 +99,17 @@ void gdcmDict::PrintByKey(std::ostream& os) {
  * @param   os The output stream to be written to.
  */
 void gdcmDict::PrintByName(std::ostream& os) {
+   std::ostringstream s;
+
    for (TagNameHT::iterator tag = NameHt.begin(); tag != NameHt.end(); ++tag){
-      os << "Tag : ";
-      os << tag->second->GetName() << ",";
-      os << tag->second->GetVR() << ", ";
-      os << tag->second->GetFourth() << ", ";
-      os << "(" << std::hex << tag->second->GetGroup() << ',';
-      os << std::hex << tag->second->GetElement() << ") = " << std::dec << std::endl;
+      s << "Tag : ";
+      s << tag->second->GetName() << ",";
+      s << tag->second->GetVR() << ", ";
+      s << tag->second->GetFourth() << ", ";
+      s << "(" << std::hex << tag->second->GetGroup() << ',';
+      s << std::hex << tag->second->GetElement() << ") = " << std::dec << std::endl;
    }
+   os << s.str();
 }
 
 /**
index 621134beaf87d95ea3e62f66828b6b5305f3ec3b..429888d12ed04f9fc32c6d5ccbe4a748f36837ce 100644 (file)
@@ -16,7 +16,9 @@ gdcmElValSet::~gdcmElValSet() {
       gdcmElValue* EntryToDelete = tag->second;
       if ( EntryToDelete )
          delete EntryToDelete;
+      tag->second=NULL;
    }
+
    tagHt.clear();
    // Since Add() adds symetrical in both tagHt and NameHt we can
    // assume all the pointed gdcmElValues are already cleaned-up when
@@ -64,6 +66,7 @@ void gdcmElValSet::Print(std::ostream & os) {
    TSKey v;
    std::string d2;
    gdcmTS * ts = gdcmGlobal::GetTS();
+   std::ostringstream s;
    
    for (TagElValueHT::iterator tag = tagHt.begin();
           tag != tagHt.end();
@@ -73,27 +76,28 @@ void gdcmElValSet::Print(std::ostream & os) {
       v = tag->second->GetValue();
       o = tag->second->GetOffset();
       d2 = _CreateCleanString(v);  // replace non printable characters by '.'
-                
-      os << tag->first << ": ";
-      os << " lgr : " << tag->second->GetLength();
-      os << ", Offset : " << o;
-      os << " x(" << std::hex << o << std::dec << ") ";
-      os << "\t[" << tag->second->GetVR()    << "]";
-      os << "\t[" << tag->second->GetName()  << "]";       
-      os << "\t[" << d2 << "]";
-      
+
+      s << tag->first << ": ";
+      s << " lgr : " <<tag->second->GetLength();
+      s << ",\t Offset : " << o;
+      s << " x(" << std::hex << o << std::dec << ") ";
+      s << "\t[" << tag->second->GetVR()    << "]";
+      s << "\t[" << tag->second->GetName()  << "]";       
+      s << "\t[" << d2 << "]";
+
       // Display the UID value (instead of displaying the rough code)  
       if (g == 0x0002) {  // Some more to be displayed ?
          if ( (e == 0x0010) || (e == 0x0002) )            
-            os << "  ==>\t[" << ts->GetValue(v) << "]";   
+            s << "  ==>\t[" << ts->GetValue(v) << "]";   
       } else {
          if (g == 0x0008) {
             if ( (e == 0x0016) || (e == 0x1150)  )        
-               os << "  ==>\t[" << ts->GetValue(v) << "]"; 
+               s << "  ==>\t[" << ts->GetValue(v) << "]"; 
          }
       }              
-      os << std::endl;
+      s << std::endl;
    }
+
    
    guint32 lgth;
    char greltag[10];  //group element tag
@@ -107,30 +111,31 @@ void gdcmElValSet::Print(std::ostream & os) {
       o = (*i)->GetOffset();
       sprintf(greltag,"%04x|%04x",g,e);           
       d2 = _CreateCleanString(v);  // replace non printable characters by '.'
-      os << greltag << ": lgth : ";
+      s << greltag << ": lgth : ";
       lgth = (*i)->GetReadLength();
       if ( lgth == 0xffffffff) 
-         os << std::hex << lgth << std::dec ;
+         s << std::hex << lgth << std::dec ;
       else
-         os << lgth;
-      os << ", Offset : " << o;
-      os << " x(" << std::hex << o << std::dec << ") ";
-      os << "\t[" << (*i)->GetVR()    << "]";
-      os << "\t[" << (*i)->GetName()  << "]";       
-      os << "\t[" << d2 << "]";
+         s << lgth;
+      s << ",\t Offset : " << o;
+      s << " x(" << std::hex << o << std::dec << ") ";
+      s << "\t[" << (*i)->GetVR()    << "]";
+      s << "\t[" << (*i)->GetName()  << "]";       
+      s << "\t[" << d2 << "]";
       
       // Display the UID value (instead of displaying the rough code)  
       if (g == 0x0002) {  // Any more to be displayed ?
          if ( (e == 0x0010) || (e == 0x0002) )            
-            os << "  ==>\t[" << ts->GetValue(v) << "]";   
+            s << "  ==>\t[" << ts->GetValue(v) << "]";   
       } else {
          if (g == 0x0008) {
             if ( (e == 0x0016) || (e == 0x1150)  )        
-               os << "  ==>\t[" << ts->GetValue(v) << "]"; 
+               s << "  ==>\t[" << ts->GetValue(v) << "]"; 
          }
       }              
-      os << std::endl;
-   }      
+      s << std::endl;
+   }
+   os<<s.str();
 } 
 
 /**
index 85756a3bad2a53283b5a97d81d274af5710fb728..ebf321f2274d3bd122dba02e97794884db2340a5 100644 (file)
@@ -1,4 +1,4 @@
-// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.cxx,v 1.121 2003/12/22 12:46:16 regrain Exp $
+// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.cxx,v 1.122 2004/01/13 11:13:08 regrain Exp $
 
 #include "gdcmHeader.h"
 
@@ -25,7 +25,6 @@
 // Refer to gdcmHeader::CheckSwap()
 #define HEADER_LENGTH_TO_READ       256
 // Refer to gdcmHeader::SetMaxSizeLoadElementValue()
-//#define _MaxSizeLoadElementValue_   1024
 #define _MaxSizeLoadElementValue_   4096
 /**
  * \ingroup gdcmHeader
@@ -133,6 +132,8 @@ gdcmHeader::~gdcmHeader (void) {
   Dicts    =   (gdcmDictSet*)0;
   RefPubDict = (gdcmDict*)0;
   RefShaDict = (gdcmDict*)0;
+
+
   return;
 }
 
index 50de66e62e6c665017634a465da1481039b12f6a..9f868d4c5db33bd3d9e36ede5e41b3b7fc7d8596 100644 (file)
@@ -58,7 +58,7 @@ LINK32=link.exe
 # Begin Special Build Tool\r
 SOURCE="$(InputPath)"\r
 PostBuild_Desc=Copy for test\r
-PostBuild_Cmds=copy             ..\..\lib\gdcmdll.dll             ..\..\gdcmPython\            copy             ..\..\lib\gdcmdll.dll             ..\..\test\          copy          Release\gdcmdll.lib          ..\..\lib\ \r
+PostBuild_Cmds=copy              ..\..\lib\gdcmdll.dll              ..\..\gdcmPython\                  copy              ..\..\lib\gdcmdll.dll              ..\..\test\                copy           Release\gdcmdll.lib           ..\..\lib\ \r
 # End Special Build Tool\r
 \r
 !ELSEIF  "$(CFG)" == "gdcmdll - Win32 Debug"\r
@@ -90,7 +90,7 @@ LINK32=link.exe
 # Begin Special Build Tool\r
 SOURCE="$(InputPath)"\r
 PostBuild_Desc=Copy for test\r
-PostBuild_Cmds=copy             ..\..\lib\gdcmdll.dll             ..\..\gdcmPython\            copy             ..\..\lib\gdcmdll.dll             ..\..\test\          copy          Debug\gdcmdll.lib          ..\..\lib\ \r
+PostBuild_Cmds=copy              ..\..\lib\gdcmdll.dll              ..\..\gdcmPython\                  copy              ..\..\lib\gdcmdll.dll              ..\..\test\                copy           Debug\gdcmdll.lib           ..\..\lib\ \r
 # End Special Build Tool\r
 \r
 !ENDIF \r
@@ -178,6 +178,66 @@ SOURCE=..\gdcmVR.cxx
 # Begin Group "Header Files"\r
 \r
 # PROP Default_Filter "h;hpp;hxx;hm;inl"\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcm.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmCommon.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmDict.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmDictEntry.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmDictSet.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmElValSet.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmElValue.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmException.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmFile.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmHeader.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmHeaderHelper.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmIdo.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmTS.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmUtil.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\gdcmVR.h\r
+# End Source File\r
 # End Group\r
 # Begin Group "Resource Files"\r
 \r