<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>