<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Patch for compatibility with VTK 9.5.0

--- Utilities/VTK/vtkGDCMImageReader.cxx.orig	2024-05-03 14:14:31
+++ Utilities/VTK/vtkGDCMImageReader.cxx	2025-07-08 14:34:08
@@ -608,7 +608,7 @@
     // FIXME a gdcm::Scanner would be much faster here:
     for(int i = 0; i &lt; filenames-&gt;GetNumberOfValues(); ++i )
       {
-      const char *filename = filenames-&gt;GetValue( i );
+      const char *filename = filenames-&gt;GetValue( i ).c_str();
       gdcm::ImageReader reader;
       reader.SetFileName( filename );
       if( !reader.Read() )
@@ -703,7 +703,7 @@
     }
   else if ( this-&gt;FileNames &amp;&amp; this-&gt;FileNames-&gt;GetNumberOfValues() &gt; 0 )
     {
-    filename = this-&gt;FileNames-&gt;GetValue( 0 );
+    filename = this-&gt;FileNames-&gt;GetValue( 0 ).c_str();
     }
   else
     {
@@ -1459,7 +1459,7 @@
     for(int j = dext[4]; !this-&gt;AbortExecute &amp;&amp; j &lt;= dext[5]; ++j)
       {
       assert( j &gt;= 0 &amp;&amp; j &lt;= this-&gt;FileNames-&gt;GetNumberOfValues() );
-      const char *filename = this-&gt;FileNames-&gt;GetValue( j );
+      const char *filename = this-&gt;FileNames-&gt;GetValue( j ).c_str();
       int load = this-&gt;LoadSingleFile( filename, pointer, len );
       if( !load )
         {
--- Utilities/VTK/vtkGDCMImageWriter.cxx.orig	2024-05-03 14:14:31
+++ Utilities/VTK/vtkGDCMImageWriter.cxx	2025-07-08 14:27:14
@@ -255,7 +255,7 @@
 {
   if( this-&gt;FileNames-&gt;GetNumberOfValues() )
     {
-    const char *filename = this-&gt;FileNames-&gt;GetValue(0);
+    const char *filename = this-&gt;FileNames-&gt;GetValue(0).c_str();
     return const_cast&lt;char*&gt;(filename);
     }
   return this-&gt;Superclass::GetFileName();
@@ -1148,7 +1148,7 @@
   if( this-&gt;FileNames-&gt;GetNumberOfValues() )
     {
     //int n = this-&gt;FileNames-&gt;GetNumberOfValues();
-    filename = this-&gt;FileNames-&gt;GetValue(k);
+    filename = this-&gt;FileNames-&gt;GetValue(k).c_str();
     }
   else
     {
--- Utilities/VTK/vtkGDCMImageReader2.cxx.orig	2024-05-03 14:14:31
+++ Utilities/VTK/vtkGDCMImageReader2.cxx	2025-07-08 14:33:42
@@ -388,7 +388,7 @@
     // FIXME a gdcm::Scanner would be much faster here:
     for(int i = 0; i &lt; filenames-&gt;GetNumberOfValues(); ++i )
       {
-      const char *filename = filenames-&gt;GetValue( i );
+      const char *filename = filenames-&gt;GetValue( i ).c_str();
       gdcm::ImageReader reader;
       reader.SetFileName( filename );
       if( !reader.Read() )
@@ -480,7 +480,7 @@
     }
   else if ( this-&gt;FileNames &amp;&amp; this-&gt;FileNames-&gt;GetNumberOfValues() &gt; 0 )
     {
-    filename = this-&gt;FileNames-&gt;GetValue( 0 );
+    filename = this-&gt;FileNames-&gt;GetValue( 0 ).c_str();
     }
   else
     {
@@ -1177,7 +1177,7 @@
     for(int j = outExt[4]; !this-&gt;AbortExecute &amp;&amp; j &lt;= outExt[5]; ++j)
       {
       assert( j &gt;= 0 &amp;&amp; j &lt;= this-&gt;FileNames-&gt;GetNumberOfValues() );
-      const char *filename = this-&gt;FileNames-&gt;GetValue( j );
+      const char *filename = this-&gt;FileNames-&gt;GetValue( j ).c_str();
       int load = this-&gt;LoadSingleFile( filename, pointer, len );
       vtkDebugMacro( "LoadSingleFile: " &lt;&lt; filename );
       if( !load )
--- Utilities/VTK/vtkGDCMThreadedImageReader2.cxx.orig	2024-05-03 14:14:31
+++ Utilities/VTK/vtkGDCMThreadedImageReader2.cxx	2025-07-08 14:36:58
@@ -71,7 +71,7 @@
 //----------------------------------------------------------------------------
 const char *vtkGDCMThreadedImageReader2::GetFileName(int i)
 {
-  return this-&gt;FileNames-&gt;GetValue( i );
+  return this-&gt;FileNames-&gt;GetValue( i ).c_str();
 }
 
 //----------------------------------------------------------------------------
@@ -106,7 +106,7 @@
   for( int i = outExt[4]; i &lt;= outExt[5] &amp;&amp; i &lt; maxfiles; ++i )
     {
     assert( i &lt; maxfiles );
-    const char *filename = self-&gt;GetFileNames()-&gt;GetValue( i );
+    const char *filename = self-&gt;GetFileNames()-&gt;GetValue( i ).c_str();
     //ReadOneFile( filename );
     //outData-&gt;GetPointData()-&gt;GetScalars()-&gt;SetName("GDCMImage");
 
--- Utilities/VTK/Applications/gdcm2vtk.cxx.orig	2025-07-09 12:13:48
+++ Utilities/VTK/Applications/gdcm2vtk.cxx	2025-07-09 12:14:16
@@ -498,7 +498,7 @@
     {
     imgreader-&gt;SetFileLowerLeft( lowerleft );
     if( names-&gt;GetNumberOfValues() == 1 )
-      imgreader-&gt;SetFileName( names-&gt;GetValue(0) );
+      imgreader-&gt;SetFileName( names-&gt;GetValue(0).c_str() );
     else
       imgreader-&gt;SetFileNames(names);
     imgreader-&gt;Update();
--- Utilities/VTK/Applications/gdcmviewer.cxx.orig	2025-06-11 08:17:24
+++ Utilities/VTK/Applications/gdcmviewer.cxx	2025-07-09 12:12:12
@@ -321,7 +321,7 @@
   vtkGDCMImageReader *reader = vtkGDCMImageReader::New();
   if( filenames-&gt;GetSize() == 1 ) // Backward compatible...
     {
-    reader-&gt;SetFileName( filenames-&gt;GetValue(0) );
+    reader-&gt;SetFileName( filenames-&gt;GetValue(0).c_str() );
     }
   else
     {
</pre></body></html>