<div dir="ltr"><div><div>Kevin,<br><br></div>great detective work. Can you submit a gerrit patch?<br><a href="http://itk.org/Wiki/VTK/Git/Develop">http://itk.org/Wiki/VTK/Git/Develop</a><br><br></div>Bill<br><br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Thu, Aug 8, 2013 at 2:09 PM, Kevin H. Hobbs <span dir="ltr"><<a href="mailto:hobbsk@ohio.edu" target="_blank">hobbsk@ohio.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 08/08/2013 10:33 AM, Kevin H. Hobbs wrote:<br>
><br>
> Maybe start_chunk could call new functions with names like peek_word and<br>
> peek_dword that are just like read_word and read_dword but don't complain.<br>
><br>
<br>
</div>The following makes all the errors go away:<br>
<br>
diff --git a/IO/Import/vtk3DSImporter.cxx b/IO/Import/vtk3DSImporter.cxx<br>
index 4bcba03..a58ba31 100644<br>
--- a/IO/Import/vtk3DSImporter.cxx<br>
+++ b/IO/Import/vtk3DSImporter.cxx<br>
@@ -96,7 +96,9 @@ static void start_chunk (vtk3DSImporter *importer,<br>
vtk3DSChunk *chunk);<br>
 static void end_chunk (vtk3DSImporter *importer, vtk3DSChunk *chunk);<br>
 static byte read_byte (vtk3DSImporter *importer);<br>
 static word read_word (vtk3DSImporter *importer);<br>
+static word peek_word (vtk3DSImporter *importer);<br>
 static dword read_dword (vtk3DSImporter *importer);<br>
+static dword peek_dword (vtk3DSImporter *importer);<br>
 static float read_float (vtk3DSImporter *importer);<br>
 static void read_point (vtk3DSImporter *importer, vtk3DSVector v);<br>
 static char *read_string (vtk3DSImporter *importer);<br>
@@ -1043,8 +1045,8 @@ static float parse_float_percentage(vtk3DSImporter<br>
*importer)<br>
 static void start_chunk (vtk3DSImporter *importer, vtk3DSChunk *chunk)<br>
 {<br>
   chunk->start  = ftell(importer->GetFileFD());<br>
-  chunk->tag    = read_word(importer);<br>
-  chunk->length = read_dword(importer);<br>
+  chunk->tag    = peek_word(importer);<br>
+  chunk->length = peek_dword(importer);<br>
   if (chunk->length == 0)<br>
     {<br>
     chunk->length = 1;<br>
@@ -1083,6 +1085,19 @@ static word read_word(vtk3DSImporter *importer)<br>
   return data;<br>
 }<br>
<br>
+static word peek_word(vtk3DSImporter *importer)<br>
+{<br>
+  word data;<br>
+<br>
+  if (fread (&data, 2, 1, importer->GetFileFD()) != 1)<br>
+    {<br>
+    data = 0;<br>
+    }<br>
+  vtkByteSwap::Swap2LE ((short *) &data);<br>
+  return data;<br>
+}<br>
+<br>
+<br>
 static dword read_dword(vtk3DSImporter *importer)<br>
 {<br>
   dword data;<br>
@@ -1098,6 +1113,19 @@ static dword read_dword(vtk3DSImporter *importer)<br>
   return data;<br>
 }<br>
<br>
+static dword peek_dword(vtk3DSImporter *importer)<br>
+{<br>
+  dword data;<br>
+<br>
+  if (fread (&data, 4, 1, importer->GetFileFD()) != 1)<br>
+    {<br>
+    data = 0;<br>
+    }<br>
+<br>
+  vtkByteSwap::Swap4LE ((char *) &data);<br>
+  return data;<br>
+}<br>
+<br>
<br>
 static float read_float(vtk3DSImporter *importer)<br>
 {<br>
<br>
<br>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtk-developers" target="_blank">http://www.vtk.org/mailman/listinfo/vtk-developers</a><br>
<br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Unpaid intern in BillsBasement at noware dot com<br>
</div>